@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.sepia-icon{transition:transform .2s ease}.sepia-icon:hover{transform:scale(1.05)}@media (min-width: 768px){.sepia-icon--responsive{width:1.25em!important;height:1.25em!important}}@media (min-width: 1024px){.sepia-icon--responsive{width:1.5em!important;height:1.5em!important}}@media (min-width: 1440px){.sepia-icon--responsive{width:1.75em!important;height:1.75em!important}}.login-icon-wrap .sepia-icon{width:80px!important;height:80px!important}.login-icon-wrap .sepia-icon:hover{transform:none}.gen{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;box-sizing:border-box;padding:var(--space-xl) var(--space-xl) 0;touch-action:manipulation}@media (min-width: 768px){.gen{padding:var(--space-2xl) var(--space-2xl) 0;max-height:86vh}}.gen--page{height:auto;min-height:100%;padding:var(--space-lg) var(--space-md) 0;max-width:880px;margin:0 auto}@media (min-width: 768px){.gen--page{padding:var(--space-2xl) var(--space-2xl) 0}}.gen__header{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-lg);padding-right:32px}@media (min-width: 768px){.gen__header{margin-bottom:var(--space-xl)}}.gen__kind{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;padding:3px 9px 3px 7px;border-radius:var(--radius-full);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1}.gen__kind-icon{flex-shrink:0}.gen__title{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.018em;line-height:1.15;color:var(--color-foreground);margin:0}@media (min-width: 768px){.gen__title{font-size:var(--font-size-2xl)}}.gen__subtitle{font-size:var(--font-size-sm);color:var(--color-muted-foreground);line-height:1.5;margin:0;max-width:60ch}.gen__banner{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.gen__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-xl);scrollbar-gutter:stable}.gen--page .gen__body{flex:initial;overflow:visible}.gen__footer{flex-shrink:0;margin:0 calc(var(--space-xl) * -1);padding:var(--space-md) var(--space-xl);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);background:var(--color-background);display:flex;flex-direction:column;gap:6px;z-index:2}@media (min-width: 768px){.gen__footer{margin:0 calc(var(--space-2xl) * -1);padding:var(--space-md) var(--space-2xl);padding-bottom:var(--space-md)}}.gen--page .gen__footer{position:sticky;bottom:0;margin:var(--space-xl) calc(var(--space-md) * -1) 0;padding:var(--space-md) var(--space-md)}@media (min-width: 768px){.gen--page .gen__footer{margin:var(--space-2xl) calc(var(--space-2xl) * -1) 0}}.gen-section{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.gen-section--card{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card)}.gen-section__head{display:flex;flex-direction:column;gap:2px}.gen-section__eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary)}.gen-section__title{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.25;color:var(--color-foreground);margin:0}.gen-section__desc{font-size:13px;line-height:1.5;color:var(--color-muted-foreground);margin:0;max-width:60ch}.gen-section__body{display:flex;flex-direction:column;gap:var(--space-md)}.gen-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md) var(--space-lg);min-width:0}@media (max-width: 600px){.gen-grid-2{grid-template-columns:1fr}}.gen-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md)}@media (max-width: 700px){.gen-grid-3{grid-template-columns:1fr 1fr}}@media (max-width: 420px){.gen-grid-3{grid-template-columns:1fr}}.gen-field{display:flex;flex-direction:column;gap:6px;min-width:0}.gen-label{display:flex;align-items:baseline;gap:6px;font-size:10px;font-weight:700;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.06em;margin:0}.gen-label__optional{font-weight:500;color:var(--color-muted-foreground);text-transform:none;letter-spacing:0;font-size:10px;opacity:.8}.gen-textarea{width:100%;min-height:120px;padding:14px var(--space-md);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-foreground);font-family:inherit;font-size:var(--font-size-base);line-height:1.5;resize:vertical;box-sizing:border-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-xs)}.gen-textarea::placeholder{color:var(--color-muted-foreground);opacity:.75}.gen-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 18%,transparent)}.gen-chips{display:flex;flex-direction:column;gap:8px;min-width:0}.gen-chips__list{display:flex;flex-wrap:wrap;gap:6px}.gen-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);font-family:inherit;font-size:13px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .1s ease;white-space:nowrap;touch-action:manipulation;-webkit-user-select:none;user-select:none;line-height:1}.gen-chip:hover{border-color:color-mix(in oklab,var(--color-primary) 35%,transparent);background:color-mix(in oklab,var(--color-primary) 3%,var(--color-surface))}.gen-chip:active{transform:scale(.97)}.gen-chip--active{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 8%,var(--color-surface));color:var(--color-primary);font-weight:600;box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 12%,transparent)}.gen-chip__emoji{font-size:14px;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Segoe UI Symbol,sans-serif}.gen-chip__icon{flex-shrink:0}.gen-chip__label{line-height:1.1}.gen-chips__hint{margin:0 2px;font-size:12px;line-height:1.4;color:var(--color-muted-foreground);font-style:italic;letter-spacing:.005em;min-height:17px;animation:gen-hint-fade .24s ease-out}@keyframes gen-hint-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.gen-range{display:flex;flex-direction:column;gap:8px}.gen-range__head{display:flex;justify-content:space-between;align-items:baseline}.gen-range__value{font-size:var(--font-size-base);font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.gen-range__suffix{margin-left:3px;font-size:11px;color:var(--color-muted-foreground);font-weight:500}.gen-range__input{width:100%;accent-color:var(--color-primary);height:18px;cursor:pointer;margin:0;padding:0;display:block}.gen-range__hint{margin:0 2px;font-size:11.5px;color:var(--color-muted-foreground);line-height:1.35}.gen-stepper{display:flex;flex-direction:column;gap:6px;min-width:0}.gen-stepper__row{display:inline-flex;align-items:stretch;gap:0;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden;width:fit-content}.gen-stepper__btn{width:34px;height:36px;border:none;background:transparent;color:var(--color-text-primary);font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease}.gen-stepper__btn:hover:not(:disabled){background:color-mix(in oklab,var(--color-primary) 8%,transparent);color:var(--color-primary)}.gen-stepper__btn:disabled{color:var(--color-muted-foreground);cursor:not-allowed;opacity:.5}.gen-stepper__value{min-width:40px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-foreground);border-left:1px solid var(--color-border-strong);border-right:1px solid var(--color-border-strong);padding:0 6px}.gen-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media (max-width: 420px){.gen-themes{grid-template-columns:repeat(2,minmax(0,1fr))}}.gen-theme{display:flex;flex-direction:column;gap:6px;padding:8px;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font-family:inherit;text-align:left;transition:border-color .15s ease,background .15s ease,transform .1s ease;min-width:0;touch-action:manipulation}.gen-theme:hover{border-color:color-mix(in oklab,var(--color-primary) 35%,transparent)}.gen-theme:active{transform:scale(.98)}.gen-theme--active{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 4%,var(--color-surface));box-shadow:0 0 0 2px color-mix(in oklab,var(--color-primary) 10%,transparent)}.gen-theme__swatch{position:relative;height:38px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a0f}.gen-theme__dot{position:absolute;bottom:4px;right:4px;width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.95);box-shadow:0 1px 2px #00000026}.gen-theme__swatch--book{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 8px}.gen-theme__swatch-bar{width:60%;height:3px;border-radius:1px;opacity:.9}.gen-theme__swatch-aa{font-size:14px;font-weight:600;line-height:1;letter-spacing:-.01em}.gen-theme__meta{display:flex;flex-direction:column;min-width:0;gap:1px}.gen-theme__label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.gen-theme--active .gen-theme__label{color:var(--color-primary)}.gen-theme__desc{font-size:10px;color:var(--color-muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.gen-advanced{display:flex;flex-direction:column;gap:var(--space-md)}.gen-advanced__toggle{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 12px 8px 10px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;touch-action:manipulation;letter-spacing:-.005em}.gen-advanced__toggle:hover{border-style:solid;border-color:color-mix(in oklab,var(--color-primary) 40%,transparent);color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 3%,transparent)}.gen-advanced__icon{color:var(--color-muted-foreground);flex-shrink:0}.gen-advanced__toggle:hover .gen-advanced__icon{color:var(--color-primary)}.gen-advanced__title{line-height:1.1}.gen-advanced__hint{font-size:11.5px;font-weight:500;color:var(--color-muted-foreground);letter-spacing:0;margin-left:4px}.gen-advanced__badge{margin-left:4px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:var(--radius-full);background:color-mix(in oklab,var(--color-primary) 15%,transparent);color:var(--color-primary);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}.gen-advanced__chevron{transition:transform .18s ease;color:var(--color-muted-foreground);flex-shrink:0;margin-left:2px}.gen-advanced__chevron--open{transform:rotate(180deg)}.gen-advanced__content{display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-md) 0 0;animation:gen-advanced-in .22s var(--ease-out, ease-out)}@keyframes gen-advanced-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gen-lesson{padding:10px 12px 12px;border:1px solid color-mix(in oklab,var(--color-primary) 20%,transparent);border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 5%,var(--color-card));display:flex;flex-direction:column;gap:8px}.gen-lesson__title{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}.gen-lesson__icon{flex-shrink:0}.gen-lesson__focus{width:100%;border:1px dashed transparent;border-radius:6px;padding:4px 8px;background:transparent;font-family:inherit;font-size:14px;font-weight:600;color:var(--color-foreground);outline:none;transition:border-color .12s ease,background .12s ease}.gen-lesson__focus::placeholder{font-weight:500;color:var(--color-text-tertiary)}.gen-lesson__focus:hover{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}.gen-lesson__focus:focus{border-style:solid;border-color:var(--color-primary);background:var(--color-card)}.gen-lesson__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.gen-lesson__list--small .gen-lesson__item input{font-size:12px;color:var(--color-text-secondary, var(--color-muted-foreground))}.gen-lesson__item{display:flex;align-items:center;gap:6px;padding:2px 8px;border-radius:4px}.gen-lesson__item:before{content:"•";color:var(--color-primary);font-weight:700;flex-shrink:0}.gen-lesson__item input{flex:1;border:none;outline:none;background:transparent;padding:2px 0;font-family:inherit;font-size:13px;color:var(--color-foreground)}.gen-lesson__item button{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-tertiary, var(--color-muted-foreground));cursor:pointer;border-radius:50%;opacity:0;transition:opacity .12s ease,background .12s ease}.gen-lesson__item:hover button{opacity:1}.gen-lesson__item button:hover{background:var(--color-card);color:var(--color-foreground)}.gen-lesson__objectives{border-top:1px dashed color-mix(in oklab,var(--color-primary) 18%,transparent);padding-top:8px}.gen-lesson__sub{display:block;margin:0 0 4px 8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary, var(--color-muted-foreground))}.gen-lesson__hint{margin:0;font-size:11px;color:var(--color-text-tertiary, var(--color-muted-foreground));font-style:italic}.gen-notice{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:var(--radius-md);font-size:12.5px;line-height:1.4;color:var(--color-text-primary);border:1px solid var(--color-border-strong);background:var(--color-card)}.gen-notice--warning{background:color-mix(in oklab,var(--color-status-warning, #f59e0b) 10%,var(--color-card));border-color:color-mix(in oklab,var(--color-status-warning, #f59e0b) 35%,transparent)}.gen-notice__icon{flex-shrink:0;color:var(--color-status-warning, #f59e0b)}.gen-material{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card)}.gen-material__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gen-material__actions--single{grid-template-columns:1fr}@media (max-width: 600px){.gen-material__actions{grid-template-columns:1fr}}.gen-material__action{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background);text-align:left;cursor:pointer;font-family:inherit;transition:border-color .15s ease,background .15s ease,transform .12s ease;min-width:0}.gen-material__action:hover{border-style:solid;border-color:color-mix(in oklab,var(--color-primary) 50%,transparent);background:var(--color-card)}.gen-material__action:active{transform:scale(.99)}.gen-material__action-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary);flex-shrink:0}.gen-material__action-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.gen-material__action-title{font-size:13px;font-weight:600;color:var(--color-foreground);line-height:1.3}.gen-material__action-hint{font-size:12px;color:var(--color-muted-foreground);line-height:1.35}.gen-material__selected{display:flex;flex-direction:column;gap:6px;padding-top:var(--space-sm);border-top:1px dashed var(--color-border)}.gen-material__selected-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.gen-material__list{display:flex;flex-direction:column;gap:6px}.gen-material__item{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--font-size-sm)}.gen-material__item-icon{color:var(--color-muted-foreground);flex-shrink:0}.gen-material__item-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-foreground)}.gen-material__item-remove{background:transparent;border:none;color:var(--color-muted-foreground);cursor:pointer;flex-shrink:0;padding:4px;border-radius:4px;display:inline-flex;transition:color .15s ease,background .15s ease}.gen-material__item-remove:hover{color:var(--color-destructive);background:color-mix(in oklab,var(--color-destructive) 10%,transparent)}.gen-submit{width:100%;padding:13px 16px;border:none;border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-primary-foreground, #fff);font-family:inherit;font-size:var(--font-size-base);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,transform .1s ease,box-shadow .15s ease;touch-action:manipulation;box-shadow:0 4px 14px color-mix(in oklab,var(--color-primary) 25%,transparent);letter-spacing:-.005em}.gen-submit:hover:not(:disabled){background:var(--color-primary-shade, var(--color-primary));transform:translateY(-1px);box-shadow:0 6px 18px color-mix(in oklab,var(--color-primary) 32%,transparent)}.gen-submit:active:not(:disabled){transform:translateY(0)}.gen-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.gen-submit__sub{font-size:11px;color:var(--color-muted-foreground);text-align:center;margin:0;line-height:1.35}@media (prefers-color-scheme: dark){.gen-textarea{background:var(--color-surface);border-color:var(--color-border-strong)}.gen-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 22%,transparent)}.gen-chip,.gen-theme{background:var(--color-surface);border-color:var(--color-border-strong)}.gen-theme__swatch{box-shadow:inset 0 0 0 1px #ffffff14}.gen-material__item,.gen-stepper__row{background:var(--color-surface);border-color:var(--color-border-strong)}.gen__footer{background:var(--color-background);border-color:var(--color-border-strong)}}.gen-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);transition:border-color var(--transition-fast)}.gen-card:hover{border-color:color-mix(in oklab,var(--color-foreground) 10%,var(--color-border))}.gen-card--subtle{background:var(--color-background);border-style:dashed}.gen-card__header{display:flex;align-items:flex-start;gap:var(--space-sm);min-width:0}.gen-card__num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:9999px;background:#15665e1a;color:var(--color-primary);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;flex-shrink:0;margin-top:3px}.gen-card__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary);flex-shrink:0}.gen-card__head-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.gen-card__title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-foreground);margin:0;line-height:1.3}.gen-card__sub{font-size:12px;color:var(--color-muted-foreground);margin:2px 0 0;line-height:1.45}.gen-card__aside{flex-shrink:0;margin-left:auto}.gen-card__body{display:flex;flex-direction:column;gap:var(--space-md)}.gen-card__field{display:flex;flex-direction:column;min-width:0}.gen-card__label{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted-foreground);margin-bottom:6px}.gen-card__label-opt{text-transform:none;letter-spacing:0;font-weight:400;font-size:10px;opacity:.75;margin-left:6px;font-style:italic}.gen-card__hint{font-size:12px;color:var(--color-muted-foreground);margin:6px 0 0;line-height:1.4}@media (max-width: 600px){.gen-card{padding:var(--space-md)}.gen-card__icon{width:26px;height:26px}.gen-card__num{min-width:20px;height:20px;font-size:10.5px}}.ai-waiting--inline{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:inherit;color:inherit}.ai-waiting__dots{display:inline-flex;align-items:center;gap:4px;height:1em}.ai-waiting__dot{width:5px;height:5px;border-radius:9999px;background:currentColor;opacity:.85;animation:ai-waiting-dot 1.1s ease-in-out infinite}.ai-waiting__dot:nth-child(2){animation-delay:.18s}.ai-waiting__dot:nth-child(3){animation-delay:.36s}@keyframes ai-waiting-dot{0%,70%,to{transform:translateY(0);opacity:.45}35%{transform:translateY(-4px);opacity:1}}.ai-waiting__inline-text{font-weight:500}.ai-waiting{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md)}.ai-waiting--card{padding:var(--space-2xl) var(--space-lg)}.ai-waiting--overlay{padding:var(--space-3xl) var(--space-lg);min-height:360px}.ai-waiting__title{margin:0;font-size:var(--font-size-lg);font-weight:700;color:var(--color-foreground);letter-spacing:-.01em}.ai-waiting--overlay .ai-waiting__title{font-size:var(--font-size-xl)}.ai-waiting__hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:280px;line-height:1.5}.ai-waiting__orbital{position:relative;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xs)}.ai-waiting__icon-bubble{position:relative;z-index:2;border-radius:9999px;background:#15665e1a;display:flex;align-items:center;justify-content:center}.ai-waiting__sparkle{color:var(--color-primary);animation:ai-waiting-glow 2.4s ease-in-out infinite}@keyframes ai-waiting-glow{0%,to{filter:drop-shadow(0 0 4px rgba(21,102,94,.25));transform:scale(1)}50%{filter:drop-shadow(0 0 14px rgba(21,102,94,.55));transform:scale(1.06)}}.ai-waiting__ripple{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:9999px;border:2px solid rgba(21,102,94,.45);opacity:0;animation:ai-waiting-ripple 2.6s ease-out infinite}.ai-waiting__ripple--delay{animation-delay:1.3s}@keyframes ai-waiting-ripple{0%{transform:scale(.55);opacity:.55}to{transform:scale(1.85);opacity:0}}.ai-waiting__particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ai-waiting__particle{position:absolute;top:50%;left:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:9999px;background:var(--color-primary);animation:ai-waiting-orbit 3.2s linear infinite}.ai-waiting__particle:nth-child(1){animation-delay:0s;opacity:.7}.ai-waiting__particle:nth-child(2){animation-delay:-.8s;opacity:.5;width:4px;height:4px;margin:-2px 0 0 -2px}.ai-waiting__particle:nth-child(3){animation-delay:-1.6s;opacity:.6}.ai-waiting__particle:nth-child(4){animation-delay:-2.4s;opacity:.4;width:5px;height:5px;margin:-2.5px 0 0 -2.5px}@keyframes ai-waiting-orbit{0%{transform:rotate(0) translate(var(--orbit-radius, 30px)) scale(1);opacity:.7}50%{opacity:1}to{transform:rotate(360deg) translate(var(--orbit-radius, 30px)) scale(.6);opacity:.3}}.ai-waiting__progress{position:relative;width:100%;max-width:240px;height:3px;background:#15665e1a;border-radius:9999px;overflow:hidden}.ai-waiting__progress-bar{position:absolute;top:0;right:0;bottom:0;left:0;width:35%;background:var(--color-primary);border-radius:9999px;animation:ai-waiting-progress 1.7s cubic-bezier(.4,0,.2,1) infinite}@keyframes ai-waiting-progress{0%{transform:translate(-110%)}to{transform:translate(310%)}}.ai-waiting__steps{list-style:none;margin:var(--space-md) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm);width:100%;max-width:320px;text-align:left}.ai-waiting__step{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:#0f172a06;transition:all .25s cubic-bezier(.16,1,.3,1)}.ai-waiting__step-marker{flex-shrink:0;width:22px;height:22px;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:#0f172a14;color:var(--color-text-tertiary);transition:all .25s cubic-bezier(.16,1,.3,1)}.ai-waiting__step-label{flex:1;font-size:var(--font-size-sm);color:var(--color-text-tertiary);transition:color .2s ease}.ai-waiting__step--active{background:#15665e14;transform:translate(4px)}.ai-waiting__step--active .ai-waiting__step-marker{background:var(--color-primary);color:#fff;animation:ai-waiting-glow 2.4s ease-in-out infinite}.ai-waiting__step--active .ai-waiting__step-label{color:var(--color-foreground);font-weight:600}.ai-waiting__step--done .ai-waiting__step-marker{background:#05966926;color:var(--color-status-success)}.ai-waiting__step--done .ai-waiting__step-label{color:var(--color-status-success);font-weight:500}@media (prefers-color-scheme: dark){.ai-waiting__icon-bubble{background:#15665e2e}.ai-waiting__progress{background:#ffffff14}.ai-waiting__step{background:#ffffff0a}.ai-waiting__step-marker{background:#ffffff1a}}@media (prefers-reduced-motion: reduce){.ai-waiting__dot,.ai-waiting__sparkle,.ai-waiting__ripple,.ai-waiting__particle,.ai-waiting__progress-bar{animation:none!important}.ai-waiting__progress-bar{width:100%;opacity:.5}}.taller{display:flex;flex-direction:column;padding:var(--space-xl) var(--space-xl) 0;min-width:0;width:100%;box-sizing:border-box;touch-action:manipulation;height:100%}.taller__header{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-xl);padding-right:32px}.taller__title{font-size:var(--font-size-xl);font-weight:700;letter-spacing:-.015em;margin:0;line-height:1.15;color:var(--color-foreground)}.taller__subtitle{font-size:var(--font-size-sm);color:var(--color-muted-foreground);margin:0;line-height:1.45}.taller__no-topic{display:flex;align-items:center;gap:8px;margin:0 0 var(--space-md);padding:9px 12px;background:color-mix(in oklab,var(--color-status-warning, #f59e0b) 10%,var(--color-card));border:1px solid color-mix(in oklab,var(--color-status-warning, #f59e0b) 35%,transparent);border-radius:var(--radius-md);font-size:12.5px;line-height:1.4;color:var(--color-text-primary)}.taller__no-topic-icon{flex-shrink:0;color:var(--color-status-warning, #f59e0b)}.taller__no-topic-text{flex:1}.taller__lesson-ctx{margin-bottom:var(--space-md);padding:12px 14px;background:color-mix(in oklab,var(--color-primary, #2563eb) 5%,var(--color-card));border:1px solid color-mix(in oklab,var(--color-primary, #2563eb) 22%,transparent);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px}.taller__lesson-ctx-title{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary, #2563eb)}.taller__lesson-ctx-icon{flex-shrink:0}.taller__lesson-ctx-focus{width:100%;border:1px dashed transparent;border-radius:6px;padding:4px 8px;background:transparent;font-family:inherit;font-size:14px;font-weight:600;color:var(--color-foreground);outline:none;transition:all .12s var(--ease-out)}.taller__lesson-ctx-focus::placeholder{font-weight:500;color:var(--color-text-tertiary)}.taller__lesson-ctx-focus:hover{border-color:color-mix(in oklab,var(--color-primary) 30%,transparent)}.taller__lesson-ctx-focus:focus{border-style:solid;border-color:var(--color-primary);background:var(--color-card)}.taller__lesson-ctx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.taller__lesson-ctx-list--small .taller__lesson-ctx-item input{font-size:12px;color:var(--color-text-secondary)}.taller__lesson-ctx-item{display:flex;align-items:center;gap:6px;padding:2px 8px;border-radius:4px}.taller__lesson-ctx-item:before{content:"•";color:var(--color-primary);font-weight:700;flex-shrink:0}.taller__lesson-ctx-item input{flex:1;border:none;outline:none;background:transparent;padding:2px 0;font-family:inherit;font-size:13px;color:var(--color-foreground)}.taller__lesson-ctx-item button{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:50%;opacity:0;transition:opacity .12s}.taller__lesson-ctx-item:hover button{opacity:1}.taller__lesson-ctx-item button:hover{background:var(--color-card);color:var(--color-foreground)}.taller__lesson-ctx-objectives{border-top:1px dashed color-mix(in oklab,var(--color-primary) 18%,transparent);padding-top:8px}.taller__lesson-ctx-sub{display:block;margin:0 0 4px 8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.taller__lesson-ctx-hint{margin:0;font-size:11px;color:var(--color-text-tertiary);font-style:italic}.taller__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xl);scrollbar-gutter:stable}@media (min-width: 880px){.taller__body--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--space-2xl);row-gap:var(--space-xl);align-content:start}.taller__body--split>.taller__step{margin:0}}.taller__step{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.taller__step-header{display:flex;align-items:baseline;gap:10px;min-width:0}.taller__step-num{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:#15665e1a;color:var(--color-primary);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;flex-shrink:0}.taller__step-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);letter-spacing:-.005em;margin:0;line-height:1.3}.taller__step-hint{font-size:var(--font-size-xs);color:var(--color-muted-foreground);margin-left:auto;text-align:right;line-height:1.3;max-width:55%}.taller__label{display:flex;align-items:baseline;gap:6px;font-size:10px;font-weight:700;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.06em;margin:0}.taller__label--inline{margin-bottom:6px}.taller__optional{font-weight:500;color:var(--color-muted-foreground);text-transform:none;letter-spacing:0;font-size:10px;opacity:.8}.taller__textarea{width:100%;min-height:120px;padding:14px var(--space-md);border:1.5px solid var(--color-border-strong, rgba(15, 23, 42, .08));border-radius:var(--radius-md);background:var(--color-surface, var(--color-card));color:var(--color-foreground);font-family:inherit;font-size:var(--font-size-base);line-height:1.5;resize:vertical;box-sizing:border-box;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-xs)}.taller__textarea::placeholder{color:var(--color-muted-foreground);opacity:.75}.taller__textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #15665e26}.taller__notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#d9770614;border:1px solid rgba(217,119,6,.2);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-warning);line-height:1.4}.taller__notice strong{font-weight:600;color:inherit}.taller__notice__icon{flex-shrink:0;margin-top:1px}.taller__fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);min-width:0}@media (max-width: 480px){.taller__fields{grid-template-columns:1fr}}.taller__field{display:flex;flex-direction:column;gap:6px;min-width:0}.taller__slider-block{display:flex;flex-direction:column;gap:8px}.taller__slider-row-header{display:flex;justify-content:space-between;align-items:baseline}.taller__slider-value{font-size:var(--font-size-base);font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.taller__slider{width:100%;accent-color:var(--color-primary);height:18px;cursor:pointer;margin:0;padding:0;display:block}.taller__chips{display:flex;flex-wrap:wrap;gap:6px}.taller__chip{padding:7px 14px;border:1.5px solid var(--color-border-strong, rgba(15, 23, 42, .1));border-radius:var(--radius-full);background:transparent;font-size:var(--font-size-sm);font-weight:500;color:var(--color-muted-foreground);cursor:pointer;transition:all .15s ease;white-space:nowrap;font-family:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none;line-height:1}.taller__chip:hover{border-color:#15665e59;color:var(--color-foreground)}.taller__chip:active{transform:scale(.96)}.taller__chip--active{background:var(--color-primary);color:var(--color-primary-foreground, #fff);border-color:var(--color-primary)}.taller__chip--active:hover{background:var(--color-primary);color:var(--color-primary-foreground, #fff)}.taller__chip-hint{margin:8px 2px 0;font-size:12px;line-height:1.4;color:var(--color-muted-foreground, #64748b);font-style:italic;letter-spacing:.005em;min-height:17px;animation:taller-hint-fade .28s ease-out}@keyframes taller-hint-fade{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.taller__format-chips{display:flex;flex-wrap:wrap;gap:6px}.taller__format-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1.5px solid var(--color-border-strong, rgba(15, 23, 42, .08));border-radius:var(--radius-full);background:var(--color-surface, var(--color-card));cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:var(--color-text-primary, #0f172a);transition:all .12s ease;white-space:nowrap;touch-action:manipulation}.taller__format-chip:hover{border-color:#15665e59;background:#15665e05}.taller__format-chip:active{transform:scale(.97)}.taller__format-chip--active{border-color:var(--color-primary);background:#15665e12;box-shadow:0 0 0 2px #15665e1a;font-weight:600}.taller__format-chip-emoji{font-size:15px;line-height:1}.taller__themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media (max-width: 420px){.taller__themes{grid-template-columns:repeat(2,minmax(0,1fr))}}.taller__theme{display:flex;flex-direction:column;gap:6px;padding:8px;border:1.5px solid var(--color-border-strong, rgba(15, 23, 42, .08));border-radius:var(--radius-md);background:var(--color-surface, var(--color-card));cursor:pointer;font-family:inherit;text-align:left;transition:all .15s ease;min-width:0;touch-action:manipulation}.taller__theme:hover{border-color:#15665e59}.taller__theme:active{transform:scale(.98)}.taller__theme--active{border-color:var(--color-primary);background:#15665e0a;box-shadow:0 0 0 2px #15665e14}.taller__theme-swatch{position:relative;height:38px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:inset 0 0 0 1px #0f172a0f}.taller__theme-dot{position:absolute;bottom:4px;right:4px;width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.95);box-shadow:0 1px 2px #00000026}.taller__theme-swatch--book{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 8px}.taller__theme-swatch-heading{width:60%;height:3px;border-radius:1px;opacity:.9}.taller__theme-swatch-aa{font-size:14px;font-weight:600;line-height:1;letter-spacing:-.01em}.taller__theme-meta{display:flex;flex-direction:column;min-width:0;gap:1px}.taller__theme-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.taller__theme--active .taller__theme-label{color:var(--color-primary)}.taller__theme-desc{font-size:10px;color:var(--color-muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.taller__refs-list{display:flex;flex-direction:column;gap:6px}.taller__ref-item{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;border-radius:var(--radius-sm);background:var(--color-surface, var(--color-card));border:1px solid var(--color-border);font-size:var(--font-size-sm)}.taller__ref-item__icon{color:var(--color-muted-foreground);flex-shrink:0}.taller__ref-item__title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-foreground)}.taller__ref-item__remove{background:transparent;border:none;color:var(--color-muted-foreground);cursor:pointer;flex-shrink:0;padding:4px;border-radius:4px;display:inline-flex;transition:all .15s ease}.taller__ref-item__remove:hover{color:var(--color-destructive);background:#dc262614}.taller__refs-add{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:8px 14px;border-radius:var(--radius-sm);border:1.5px dashed var(--color-border-strong, var(--color-border));background:transparent;color:var(--color-muted-foreground);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;font-family:inherit;transition:all .15s ease;touch-action:manipulation}.taller__refs-add:hover{color:var(--color-primary);border-color:var(--color-primary);background:#15665e0a}.taller__footer{flex-shrink:0;margin:0 calc(var(--space-xl) * -1);padding:var(--space-md) var(--space-xl) var(--space-md);padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);background:var(--color-background);display:flex;flex-direction:column;gap:6px;z-index:2}.taller__submit{width:100%;padding:13px 16px;border:none;border-radius:var(--radius-lg);background:var(--color-primary);color:var(--color-primary-foreground, #fff);font-family:inherit;font-size:var(--font-size-base);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,transform .1s ease,box-shadow .15s ease;touch-action:manipulation;box-shadow:0 4px 14px #15665e40;letter-spacing:-.005em}.taller__submit:hover:not(:disabled){background:var(--color-primary-shade, var(--color-primary));transform:translateY(-1px);box-shadow:0 6px 18px #15665e52}.taller__submit:active:not(:disabled){transform:translateY(0)}.taller__submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.taller__footnote{font-size:11px;color:var(--color-muted-foreground);text-align:center;margin:0;line-height:1.35}@media (min-width: 768px){.taller{padding:var(--space-2xl) var(--space-2xl) 0;max-height:85vh}.taller__header{margin-bottom:var(--space-2xl)}.taller__title{font-size:var(--font-size-2xl)}.taller__footer{margin:0 calc(var(--space-2xl) * -1);padding:var(--space-md) var(--space-2xl);padding-bottom:var(--space-md)}}.taller-refs-picker{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.taller-refs-picker__search{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface, var(--color-card));color:var(--color-foreground);font-size:var(--font-size-sm);width:100%;box-sizing:border-box;outline:none;transition:border-color .15s ease}.taller-refs-picker__search:focus{border-color:var(--color-primary)}.taller-refs-picker__list{max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.taller-refs-picker__row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;background:transparent;font-family:inherit;text-align:left;width:100%;transition:all .15s ease}.taller-refs-picker__row:hover{background:var(--color-muted)}.taller-refs-picker__row--selected{background:#15665e0f;border-color:var(--color-primary)}.taller-refs-picker__check{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-surface, var(--color-card));color:transparent}.taller-refs-picker__row--selected .taller-refs-picker__check{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-foreground, #fff)}.taller-refs-picker__text{flex:1;min-width:0}.taller-refs-picker__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.taller-refs-picker__meta{font-size:11px;color:var(--color-muted-foreground)}@media (prefers-color-scheme: dark){.taller__step-num{background:#2c9e9229;color:var(--color-primary)}.taller__textarea{background:var(--color-surface, var(--color-card));border-color:#ffffff14}.taller__textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2c9e922e}.taller__notice{background:#f59e0b1a;border-color:#f59e0b38;color:#fbbf24}.taller__chip{border-color:#ffffff1a}.taller__chip:hover{border-color:#2c9e9266}.taller__theme{background:var(--color-surface, var(--color-card));border-color:#ffffff14}.taller__theme--active{border-color:var(--color-primary);background:#2c9e9214;box-shadow:0 0 0 2px #2c9e921f}.taller__theme-swatch{box-shadow:inset 0 0 0 1px #ffffff14}.taller__ref-item{background:var(--color-surface, var(--color-card));border-color:#ffffff14}.taller__refs-add{border-color:#ffffff1f}.taller__footer{background:var(--color-background);border-color:#ffffff0f}.taller__submit{box-shadow:0 4px 14px #0006}.taller-refs-picker__search{background:var(--color-surface, var(--color-card));border-color:#ffffff14}.taller-refs-picker__row:hover{background:#ffffff0a}.taller-refs-picker__row--selected{background:#2c9e921a}.taller-refs-picker__check{background:var(--color-surface, var(--color-card));border-color:#ffffff1f}}.taller__section{display:flex;flex-direction:column;gap:var(--space-md);min-width:0}.taller__section-head{display:flex;flex-direction:column;gap:2px}.taller__section-eyebrow{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary)}.taller__section-title{font-size:17px;font-weight:700;letter-spacing:-.01em;line-height:1.25;color:var(--color-foreground);margin:0}.taller__section-desc{font-size:13px;line-height:1.5;color:var(--color-muted-foreground);margin:0}.taller__material-panel{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-card)}.taller__material-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 600px){.taller__material-actions{grid-template-columns:1fr}}.taller__material-action{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-background);text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .12s;min-width:0}.taller__material-action:hover{border-style:solid;border-color:color-mix(in oklab,var(--color-primary) 50%,transparent);background:var(--color-card)}.taller__material-action:active{transform:scale(.99)}.taller__material-action__icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary);flex-shrink:0}.taller__material-action__body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.taller__material-action__title{font-size:13px;font-weight:600;color:var(--color-foreground);line-height:1.3}.taller__material-action__hint{font-size:12px;color:var(--color-muted-foreground);line-height:1.35}.taller__material-selected{display:flex;flex-direction:column;gap:6px;padding-top:var(--space-sm);border-top:1px dashed var(--color-border)}.taller__material-selected-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted-foreground)}.taller__config{display:flex;flex-direction:column;gap:var(--space-lg)}.taller__config-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md) var(--space-lg)}@media (max-width: 600px){.taller__config-grid{grid-template-columns:1fr}}.taller__config-row{display:flex;flex-direction:column;gap:8px;min-width:0}.taller__body--split{display:flex!important;flex-direction:column;gap:var(--space-xl)}@media (min-width: 880px){.taller__body--split{display:flex!important;grid-template-columns:none}}.taller-dest{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:#15665e0f;border:1px solid rgba(21,102,94,.18);font-size:.8125rem;min-width:0}.taller-dest__label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted-foreground, #64748b);flex-shrink:0}.taller-dest__value{font-weight:600;color:var(--color-primary, #15665e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mention-textarea{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.mention-textarea__wrap{position:relative;width:100%;background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E5E7EB);border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease}.mention-textarea__wrap:focus-within{border-color:var(--color-primary, #15665E);box-shadow:0 0 0 3px #15665e14}.mention-textarea__input{width:100%;min-height:40px;padding:10px 12px;background:transparent;border:none;outline:none;resize:none;font-family:inherit;font-size:13px;line-height:1.45;color:var(--color-foreground, #1F2937);-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;display:block}.mention-textarea__input::placeholder{color:var(--color-text-tertiary, #94A3B8);opacity:1}.mention-textarea__input:disabled{opacity:.55;cursor:not-allowed}.mention-textarea__helper{margin:0;padding:2px 10px 0;display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:500;color:var(--color-text-tertiary, #94A3B8);-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.mention-textarea__helper svg{flex-shrink:0;opacity:.7}.mention-textarea__chips{display:flex;flex-wrap:wrap;gap:4px}.mention-textarea__chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;background:#15665e14;border:1px solid rgba(21,102,94,.18);border-radius:999px;font-size:11px;font-weight:500;color:var(--color-primary, #15665E)}.mention-textarea__chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;background:#15665e1f;color:var(--color-primary, #15665E);border-radius:50%;font-size:12px;line-height:1;cursor:pointer;font-family:inherit;padding:0}.mention-textarea__chip-remove:hover{background:#15665e38}.mention-textarea__dropdown{max-height:240px;overflow-y:auto;background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E5E7EB);border-radius:10px;box-shadow:0 8px 24px #0f172a1f;padding:4px;z-index:10000}.mention-textarea__dropdown-loading,.mention-textarea__dropdown-empty,.mention-textarea__dropdown-hint{padding:10px 12px;font-size:12px;color:var(--color-text-tertiary, #94A3B8);text-align:center}.mention-textarea__dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:6px;font-family:inherit;font-size:13px;color:var(--color-foreground, #1F2937);cursor:pointer;text-align:left;transition:background .1s ease}.mention-textarea__dropdown-item:hover,.mention-textarea__dropdown-item--selected{background:var(--color-bg-subtle, rgba(21, 102, 94, .08))}.mention-textarea__dropdown-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-textarea__dropdown-class{font-size:11px;color:var(--color-text-tertiary, #94A3B8);flex-shrink:0}@media (prefers-color-scheme: dark){.mention-textarea__dropdown{background:var(--color-surface);border-color:#ffffff14}.mention-textarea__dropdown-item:hover,.mention-textarea__dropdown-item--selected{background:#ffffff0d}.mention-textarea__chip{background:#10b98126;border-color:#10b9814d;color:#34d399}}.post-class-prompt{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:var(--space-md);right:var(--space-md);background:var(--color-card);border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000026,0 0 0 1px #0000000d;z-index:1000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.post-class-prompt__header{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);padding-bottom:var(--space-xs)}.post-class-prompt__icon{width:40px;height:40px;background:linear-gradient(135deg,#4f46e51a,#7c3aed1a);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.post-class-prompt__icon svg{font-size:20px;color:var(--color-primary)}.post-class-prompt__title-area{flex:1;min-width:0}.post-class-prompt__title{font-size:var(--font-size-base);font-weight:600;color:var(--color-foreground);margin:0}.post-class-prompt__class{font-size:var(--font-size-sm);color:var(--color-primary);margin:2px 0 0;font-weight:500}.post-class-prompt__close{background:none;border:none;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#94a3b8;margin-top:-4px;margin-right:-8px}.post-class-prompt__close:active{background:#0000000d}.post-class-prompt__close svg{font-size:22px}.post-class-prompt__body{padding:0 var(--space-md)}.post-class-prompt__footer{display:flex;gap:var(--space-sm);padding:var(--space-md);padding-top:var(--space-sm)}.post-class-prompt__skip{flex:1;padding:var(--space-sm) var(--space-md);background:none;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-md);color:#64748b;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer}.post-class-prompt__skip:disabled{opacity:.5}.post-class-prompt__save{flex:2;display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;font-family:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.post-class-prompt__save:disabled{opacity:.5}.post-class-prompt__save svg{font-size:18px}.post-class-prompt__save svg{width:18px;height:18px}@media (prefers-color-scheme: dark){.post-class-prompt{box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff1a}.post-class-prompt__skip{border-color:#ffffff26}.post-class-prompt__close:active{background:#ffffff1a}}.feedback-fab{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));right:16px;z-index:999}.feedback-fab__button{width:48px;height:48px;border-radius:50%;background:#e87a1c;border:none;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #e87a1c59;cursor:pointer;transition:transform .15s ease}.feedback-fab__button:active{transform:scale(.92)}.feedback-modal__content{overflow-y:auto}.feedback-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md, 16px);border-bottom:1px solid rgba(0,0,0,.08)}.feedback-modal__header h2{margin:0;font-size:var(--font-size-lg, 18px);font-weight:600}.feedback-modal__back{background:none;border:none;color:var(--color-primary);display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm, 14px);cursor:pointer;padding:4px 0}.feedback-modal__add-btn{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm, 14px);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 0}.feedback-empty{display:flex;flex-direction:column;align-items:center;padding:24px;color:#94a3b8;text-align:center}.feedback-empty p{margin:0;font-size:var(--font-size-sm, 14px);line-height:1.4}.feedback-item-row{display:flex;align-items:center;padding:var(--space-sm, 8px) var(--space-md, 16px);border-bottom:1px solid rgba(0,0,0,.06)}.feedback-item{flex:1;min-width:0;cursor:pointer;transition:background .1s;border-radius:var(--radius-sm, 6px);padding:var(--space-xs, 4px) var(--space-sm, 8px)}.feedback-item:active{background:#00000008}.feedback-item__content{width:100%}.feedback-item__top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.feedback-item__badge{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:500}.feedback-item__badge--suggestion{background:#0596691a;color:#059669}.feedback-item__badge--bug{background:#dc26261a;color:#dc2626}.feedback-item__badge--other{background:#64748b1a;color:#64748b}.feedback-item__date{font-size:11px;color:#94a3b8}.feedback-item__text{font-size:var(--font-size-sm, 14px);color:var(--color-foreground);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feedback-item__delete{flex-shrink:0;background:none;border:none;padding:8px;color:#94a3b8;cursor:pointer;border-radius:var(--radius-sm, 6px);display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.feedback-item__delete:hover{color:var(--color-danger, #dc2626);background:#dc262614}.feedback-form{padding:var(--space-md, 16px);display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.feedback-form__textarea{font-size:var(--font-size-sm, 14px)}.feedback-form__submit{font-weight:600}@media (prefers-color-scheme: dark){.feedback-fab__button{box-shadow:0 4px 12px #0006}.feedback-modal__header{border-bottom-color:#ffffff1a}.feedback-item-row{border-bottom-color:#ffffff0f}.feedback-item:active{background:#ffffff0d}}@media (min-width: 992px){.feedback-fab{bottom:24px}.feedback-fab__button:hover{transform:scale(1.05)}}.bgtasks-pill{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:16px;z-index:100000;display:flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;border-radius:999px;background:var(--color-surface);box-shadow:0 4px 16px #00000026;cursor:pointer;transition:transform .15s ease,border-radius .15s ease;max-width:calc(100vw - 100px)}.bgtasks-pill:has(.bgtasks-pill__desc){border-radius:16px;align-items:flex-start;max-width:calc(100vw - 48px)}.bgtasks-pill:active{transform:scale(.96)}.bgtasks-pill__icon{position:relative;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.bgtasks-pill__icon--running{background:#6366f11f;color:#6366f1}.bgtasks-pill__icon--done{background:#0596691f;color:#059669}.bgtasks-pill__icon--error{background:#dc26261f;color:#dc2626}.bgtasks-pill__pulse{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;border:2px solid #6366F1;animation:bgtasks-pulse 1.5s ease-out infinite}@keyframes bgtasks-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.bgtasks-pill__text{overflow:hidden;min-width:0}.bgtasks-pill__label{font-size:13px;font-weight:500;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.bgtasks-pill__desc{font-size:11px;color:var(--color-muted-foreground);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;line-height:1.3;margin-top:2px}.bgtasks-pill__progress{font-size:12px;font-weight:600;color:#6366f1;display:block;margin-top:1px}.bgtasks-pill__bar{height:3px;background:#6366f126;border-radius:2px;margin-top:4px;overflow:hidden;min-width:80px}.bgtasks-pill__bar-fill{height:100%;background:#6366f1;border-radius:2px;transition:width .4s ease}.bgtasks-pill:has(.bgtasks-pill__progress){border-radius:16px;align-items:flex-start;max-width:calc(100vw - 48px)}.bgtasks-pill__badge{flex-shrink:0;min-width:20px;height:20px;border-radius:10px;background:var(--color-primary);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 5px}.bgtasks-panel{position:fixed;bottom:calc(90px + env(safe-area-inset-bottom));left:16px;right:16px;max-width:380px;z-index:100000;background:var(--color-surface);border-radius:16px;box-shadow:0 8px 32px #0000002e;overflow:hidden;animation:bgtasks-slide-up .2s ease-out}@keyframes bgtasks-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.bgtasks-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}.bgtasks-panel__title{font-size:14px;font-weight:600;color:var(--color-foreground)}.bgtasks-panel__close{background:none;border:none;color:var(--color-muted-foreground);font-size:22px;display:flex;align-items:center;justify-content:center;padding:2px;cursor:pointer;border-radius:50%}.bgtasks-panel__close:active{background:#0000000d}.bgtasks-panel__list{max-height:240px;overflow-y:auto}.bgtasks-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:default;transition:background .1s ease}.bgtasks-item--completed{cursor:pointer}.bgtasks-item--completed:active{background:#00000008}.bgtasks-item+.bgtasks-item{border-top:1px solid rgba(0,0,0,.04)}.bgtasks-item__icon{flex-shrink:0;font-size:20px;display:flex;align-items:center;justify-content:center;width:24px}.bgtasks-item--running .bgtasks-item__icon{color:#6366f1}.bgtasks-item--running .bgtasks-item__icon svg{width:20px;height:20px;color:#6366f1}.bgtasks-item--completed .bgtasks-item__icon{color:#059669}.bgtasks-item--error .bgtasks-item__icon{color:#dc2626}.bgtasks-item__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.bgtasks-item__type{font-size:11px;color:var(--color-muted-foreground);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.bgtasks-item__label{font-size:14px;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bgtasks-item__desc{font-size:12px;color:var(--color-muted-foreground);line-height:1.35;white-space:normal;margin-top:2px}.bgtasks-item__progress-row{display:flex;align-items:center;gap:8px;margin-top:4px}.bgtasks-item__counter{font-size:12px;font-weight:600;color:#6366f1;flex-shrink:0}.bgtasks-item__bar{flex:1;height:4px;background:#6366f11f;border-radius:2px;overflow:hidden}.bgtasks-item__bar-fill{height:100%;background:#6366f1;border-radius:2px;transition:width .4s ease}.bgtasks-item__error{font-size:12px;color:#dc2626;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bgtasks-item__nav{flex-shrink:0;font-size:18px;color:var(--color-muted-foreground)}.bgtasks-item__dismiss{flex-shrink:0;background:none;border:none;color:var(--color-muted-foreground);font-size:18px;display:flex;align-items:center;justify-content:center;padding:4px;cursor:pointer;border-radius:50%}.bgtasks-item__dismiss:active{background:#0000000d}@media (prefers-color-scheme: dark){.bgtasks-pill{box-shadow:0 4px 16px #0006}.bgtasks-panel{box-shadow:0 8px 32px #00000073}.bgtasks-panel__header{border-bottom-color:#ffffff14}.bgtasks-item+.bgtasks-item{border-top-color:#ffffff0f}.bgtasks-panel__close:active,.bgtasks-item--completed:active,.bgtasks-item__dismiss:active{background:#ffffff0d}}@media (min-width: 992px){.bgtasks-pill{bottom:24px}.bgtasks-pill:hover{transform:scale(1.02)}.bgtasks-panel{bottom:24px;left:24px;right:auto;max-width:360px}}.login-page{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden}.login-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(135deg,#0b4a44,#15665e 35%,#1e8a7f 65%,#0d4f48)}.login-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;will-change:transform}.login-blob--1{width:500px;height:500px;top:-10%;left:-10%;background:radial-gradient(circle,#2AAFA1 0%,transparent 70%);animation:blobDrift1 18s ease-in-out infinite}.login-blob--2{width:400px;height:400px;bottom:-5%;right:-10%;background:radial-gradient(circle,#0D4F48 0%,transparent 70%);animation:blobDrift2 22s ease-in-out infinite}.login-blob--3{width:350px;height:350px;top:40%;left:50%;background:radial-gradient(circle,rgba(232,122,28,.2) 0%,transparent 70%);animation:blobDrift3 25s ease-in-out infinite}.login-dot-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:28px 28px}.login-layout{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:2rem 1.25rem}@media (min-width: 1024px){.login-layout{flex-direction:row;padding:2rem;gap:4rem}}@media (min-width: 1280px){.login-layout{gap:6rem}}.login-brand-panel{display:none}@media (min-width: 1024px){.login-brand-panel{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:420px;flex-shrink:0}}.login-brand-inner{animation:loginFadeIn .8s ease-out both}.login-brand-logo{display:flex;align-items:center;justify-content:center;width:88px;height:88px;margin-bottom:2rem;background:#ffffff1a;border-radius:1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);animation:logoFloat 6s ease-in-out infinite;box-shadow:0 8px 32px #0000001f}.login-brand-name{font-size:3.5rem;font-weight:900;color:#fff;margin:0;letter-spacing:-.04em;line-height:1}.login-brand-sub{font-size:1.375rem;font-weight:500;color:#fff9;margin:.25rem 0 0;letter-spacing:.15em;text-transform:uppercase}.login-brand-tagline{font-size:1.0625rem;color:#ffffffa6;margin:2rem 0 2.5rem;line-height:1.7;max-width:340px}.login-features{display:flex;flex-direction:column;gap:.875rem}.login-feature{display:flex;align-items:center;gap:.75rem}.login-feature-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffffff1a;border-radius:.625rem;color:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08)}.login-feature-text{font-size:.9375rem;color:#ffffffbf;line-height:1.4;font-weight:500}.login-form-panel{display:flex;flex-direction:column;align-items:center;width:100%;max-width:420px}.login-glass-card{width:100%;padding:2rem 1.75rem;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:1.5rem;border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 24px #00000014,0 12px 48px #0000000f;animation:cardEnter .6s cubic-bezier(.16,1,.3,1) both}@media (min-width: 640px){.login-glass-card{padding:2.5rem 2.25rem}}.login-card-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:1.75rem}@media (min-width: 1024px){.login-card-logo{display:none}}.login-card-logo-wrap{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#15665e,#1e8a7f);border-radius:.75rem;box-shadow:0 4px 12px #15665e4d}.login-card-logo-text{font-size:1.125rem;font-weight:800;color:#15665e;letter-spacing:-.02em}.login-form-header{margin-bottom:1.75rem}.login-form-title{font-size:1.5rem;font-weight:800;color:#0f172a;margin:0 0 .25rem;letter-spacing:-.03em}@media (min-width: 1024px){.login-form-title{font-size:1.75rem}}.login-form-desc{font-size:.875rem;color:#64748b;margin:0;line-height:1.5}.login-form-fields{display:flex;flex-direction:column}.login-input-wrap{display:flex;flex-direction:column;gap:.375rem;margin-bottom:1rem}.login-input-row{display:flex;align-items:center;justify-content:space-between}.login-input-label{font-size:.8125rem;font-weight:600;color:#334155;letter-spacing:.01em}.login-input{min-height:46px;font-size:.9375rem;border-radius:.75rem;background:#f1f5f9;border:1.5px solid transparent;color:#0f172a;transition:border-color .2s,background .2s,box-shadow .2s}.login-input::placeholder{color:#94a3b8}.login-input:focus{background:#fff;border-color:#15665e;box-shadow:0 0 0 3px #15665e1a}.login-button{margin-top:.5rem;padding:.875rem 1.5rem;font-weight:700;font-size:.9375rem;letter-spacing:.01em;border-radius:.75rem;background:linear-gradient(135deg,#15665e,#1e8a7f);transition:transform .15s,box-shadow .2s;position:relative;overflow:hidden}.login-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#fff0,#ffffff1a);opacity:0;transition:opacity .2s}.login-button:hover:not(:disabled):after{opacity:1}.login-button:hover:not(:disabled){box-shadow:0 6px 20px #15665e59;transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 2px 8px #15665e40}.login-button-arrow{margin-left:.375rem;transition:transform .2s}.login-button:hover .login-button-arrow{transform:translate(3px)}.login-forgot{background:none;border:none;font-size:.75rem;color:#15665e;cursor:pointer;font-family:inherit;opacity:.7;transition:opacity .15s;font-weight:500;padding:0}.login-forgot:hover{opacity:1}.login-divider{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0 1.25rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.login-divider span{font-size:.6875rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-weight:600;white-space:nowrap}.login-toggle{display:block;width:100%;padding:.75rem 1rem;background:transparent;border:1.5px solid #E2E8F0;border-radius:.75rem;font-size:.875rem;font-weight:600;color:#334155;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s;text-align:center}.login-toggle:hover{background:#f8fafc;border-color:#15665e;color:#15665e}.login-toggle:active{transform:scale(.98)}.login-error{font-size:.8125rem;margin-bottom:1.25rem;padding:.75rem 1rem;background:#fef2f2;border-radius:.75rem;border-left:3px solid #DC2626;color:#dc2626;font-weight:500;line-height:1.5}.login-footer{margin-top:1.5rem;text-align:center;animation:loginFadeIn .5s ease-out .4s both}.login-footer p{font-size:.6875rem;color:#ffffff73;margin:0;line-height:1.5}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes blobDrift1{0%,to{transform:translate(0) scale(1)}25%{transform:translate(60px,40px) scale(1.1)}50%{transform:translate(20px,80px) scale(.95)}75%{transform:translate(-40px,30px) scale(1.05)}}@keyframes blobDrift2{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-50px,-30px) scale(1.08)}50%{transform:translate(-20px,-60px) scale(.92)}75%{transform:translate(30px,-20px) scale(1.03)}}@keyframes blobDrift3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,50px) scale(1.12)}66%{transform:translate(50px,-30px) scale(.9)}}.dark .login-bg{background:linear-gradient(135deg,#071e1c,#0a3530 35%,#0d4f48 65%,#071e1c)}.dark .login-blob--1{background:radial-gradient(circle,#1E8A7F 0%,transparent 70%);opacity:.3}.dark .login-blob--2{background:radial-gradient(circle,#0B4A44 0%,transparent 70%);opacity:.35}.dark .login-blob--3{background:radial-gradient(circle,rgba(232,122,28,.12) 0%,transparent 70%);opacity:.4}.dark .login-dot-grid{background-image:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1px)}.dark .login-glass-card{background:#0f172ad9;border-color:#ffffff14;box-shadow:0 4px 24px #0003,0 12px 48px #00000026}.dark .login-card-logo-wrap{background:linear-gradient(135deg,#0d4f48,#15665e);box-shadow:0 4px 12px #0000004d}.dark .login-card-logo-text{color:#2c9e92}.dark .login-form-title{color:#f8fafc}.dark .login-form-desc{color:#94a3b8}.dark .login-input-label{color:#cbd5e1}.dark .login-input{background:#1e293bcc;color:#f8fafc;border-color:#ffffff0f}.dark .login-input::placeholder{color:#64748b}.dark .login-input:focus{background:#0f172ae6;border-color:#2c9e92;box-shadow:0 0 0 3px #2c9e9226}.dark .login-button{background:linear-gradient(135deg,#15665e,#2c9e92)}.dark .login-button:hover:not(:disabled){box-shadow:0 6px 20px #2c9e9259}.dark .login-forgot{color:#2c9e92}.dark .login-divider:before,.dark .login-divider:after{background:#ffffff14}.dark .login-divider span{color:#64748b}.dark .login-toggle{border-color:#ffffff14;color:#cbd5e1}.dark .login-toggle:hover{background:#ffffff0a;border-color:#2c9e92;color:#2c9e92}.dark .login-error{background:#dc26261a;border-left-color:#f87171;color:#f87171}.dark .login-footer p{color:#ffffff4d}@media (prefers-reduced-motion: reduce){.login-brand-inner,.login-glass-card,.login-footer{animation:none!important;opacity:1}.login-blob,.login-brand-logo{animation:none!important}}.ev-editor{display:flex;flex-direction:column;gap:14px;padding:0 var(--space-lg) var(--space-lg)}@media (min-width: 768px){.ev-editor{padding:0}}.ev-editor__title-input{width:100%;border:none;background:transparent;font-family:inherit;font-size:22px;font-weight:700;letter-spacing:-.022em;color:var(--color-foreground);padding:4px 0 8px;outline:none;border-bottom:1.5px solid rgba(15,23,42,.1);transition:border-color .16s}.ev-editor__title-input:focus{border-bottom-color:var(--color-primary)}.ev-editor__title-input::placeholder{color:#cbd5e1;font-weight:600}.ev-editor__field{display:flex;flex-direction:column;gap:8px;min-width:0}.ev-editor__label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.ev-editor__type-segmented{display:flex;gap:4px;background:#0f172a0a;border-radius:10px;padding:3px}.ev-editor__type-btn{flex:1;padding:8px 10px;background:transparent;border:none;border-radius:7px;font-family:inherit;font-size:12.5px;font-weight:600;letter-spacing:-.005em;color:#64748b;cursor:pointer;transition:background .14s,color .14s,box-shadow .14s;white-space:nowrap}.ev-editor__type-btn:hover{color:var(--color-foreground)}.ev-editor__type-btn--active{background:var(--color-card);color:var(--color-primary);box-shadow:0 1px 2px #0f172a0f,0 2px 6px #0f172a0d}.ev-editor__datetime{display:flex;flex-direction:column;gap:8px}.ev-editor__date{width:100%;padding:11px 14px;background:#0f172a08;border:1px solid rgba(15,23,42,.06);border-radius:10px;font-family:inherit;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.005em;color:var(--color-foreground);outline:none;transition:border-color .16s,background .16s}.ev-editor__date:focus{background:var(--color-card);border-color:#15665e33}.ev-editor__time-pair{display:flex;align-items:center;gap:8px;background:#0f172a08;border:1px solid rgba(15,23,42,.06);border-radius:10px;padding:4px 10px;transition:border-color .16s,background .16s}.ev-editor__time-pair:focus-within{background:var(--color-card);border-color:#15665e33}.ev-editor__time{flex:1;min-width:0;border:none;background:transparent;font-family:inherit;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.005em;color:var(--color-foreground);padding:7px 4px;outline:none;text-align:center}.ev-editor__time-sep{color:#cbd5e1;font-size:13px;flex-shrink:0}.ev-editor__save{margin-top:4px;height:46px;border-radius:12px;font-weight:600;letter-spacing:-.005em}.ev-editor__actions{display:flex;justify-content:center;gap:8px;margin-top:4px}.ev-editor__quick-actions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.ev-editor__quick-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 12px;background:#15665e14;border:1px solid rgba(21,102,94,.14);border-radius:10px;color:var(--color-primary);font-family:inherit;font-size:12.5px;font-weight:600;letter-spacing:-.005em;cursor:pointer;transition:background .14s,border-color .14s}.ev-editor__quick-btn:hover{background:#15665e24;border-color:#15665e38}.ev-editor__quick-btn--accent{background:#15665e1a;color:#15665e}.ev-editor__observations{display:flex;flex-direction:column;gap:8px;overflow:visible}.ev-editor__obs-header{display:flex;align-items:center;gap:8px}.ev-editor__obs-count{font-size:10.5px;font-weight:700;color:var(--color-primary);background:#15665e1a;padding:1px 7px;border-radius:999px;min-width:18px;text-align:center;font-variant-numeric:tabular-nums}.ev-editor__obs-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}.ev-editor__obs-item{padding:8px 10px;background:#0f172a08;border-radius:8px;display:flex;flex-direction:column;gap:2px}.ev-editor__obs-text{font-size:13px;color:var(--color-foreground);line-height:1.45}.ev-editor__obs-date{font-size:10.5px;color:#94a3b8;font-variant-numeric:tabular-nums}.ev-editor__obs-add{display:flex;gap:8px;align-items:flex-end}.ev-editor__obs-mention{flex:1}.ev-editor__obs-add-btn{flex-shrink:0;width:38px;height:38px;border:none;border-radius:10px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .14s,transform .14s}.ev-editor__obs-add-btn:hover{transform:translateY(-1px)}.ev-editor__obs-add-btn:disabled{opacity:.4;cursor:default;transform:none}.ev-editor__plan-info{padding:10px 12px;border-radius:10px;background:#15665e0a;border:1px solid rgba(21,102,94,.1);display:flex;flex-direction:column;gap:8px}.ev-editor__plan-focus{font-size:13px;color:var(--color-foreground);margin:0;font-style:italic;line-height:1.4}.ev-editor__plan-kp{display:flex;flex-direction:column;gap:4px}.ev-editor__plan-kp-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.ev-editor__plan-kp-tag{font-size:12px;color:var(--color-foreground);line-height:1.3;padding-left:10px;position:relative}.ev-editor__plan-kp-tag:before{content:"";position:absolute;left:0;top:6px;width:4px;height:4px;border-radius:50%;background:var(--color-primary)}.ev-editor__plan-contents{display:flex;flex-direction:column;gap:2px}.ev-editor__plan-contents-text{font-size:12px;color:#475569;line-height:1.3}.ev-editor__field--mention{overflow:visible!important}@media (prefers-color-scheme: dark){.ev-editor__title-input{border-bottom-color:#ffffff1a;color:#f8fafc}.ev-editor__title-input::placeholder{color:#ffffff40}.ev-editor__label{color:#ffffff73}.ev-editor__type-segmented{background:#ffffff0f}.ev-editor__type-btn{color:#ffffff8c}.ev-editor__type-btn:hover{color:#f8fafc}.ev-editor__type-btn--active{background:var(--color-surface);color:#5eead4}.ev-editor__date,.ev-editor__time-pair{background:#ffffff0a;border-color:#ffffff14}.ev-editor__date,.ev-editor__time{color:#f8fafc;color-scheme:dark}.ev-editor__quick-btn{background:#2c9e921f;border-color:#2c9e923d;color:#5eead4}.ev-editor__obs-item{background:#ffffff0a}.ev-editor__obs-count{background:#2c9e922e;color:#5eead4}}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:600;letter-spacing:.01em;line-height:1.4;white-space:nowrap}.status-badge__icon{display:inline-flex;align-items:center;justify-content:center}.status-badge__icon>svg{width:11px;height:11px}.status-badge--muted{background:#0f172a0f;color:var(--color-text-secondary)}@media (prefers-color-scheme: dark){.status-badge--muted{background:#ffffff0f}}.as{--as-c-present: var(--color-status-success, #059669);--as-c-late: var(--color-status-pending, #D97706);--as-c-absent: var(--color-status-danger, #DC2626);--as-c-justified: var(--color-status-info, #6366F1);--as-bg-present: color-mix(in oklab, var(--as-c-present) 12%, transparent);--as-bg-late: color-mix(in oklab, var(--as-c-late) 14%, transparent);--as-bg-absent: color-mix(in oklab, var(--as-c-absent) 13%, transparent);--as-bg-justified: color-mix(in oklab, var(--as-c-justified) 14%, transparent);display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-background);font-family:var(--font-sans)}.as__header{flex-shrink:0;padding:var(--space-xl) var(--space-xl) var(--space-md);border-bottom:1px solid var(--color-border);background:var(--color-card);display:flex;flex-direction:column;gap:var(--space-sm)}.as__eyebrow{display:flex;align-items:center;gap:var(--space-xs);color:var(--color-text-tertiary);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.as__eyebrow-dot{opacity:.5}.as__eyebrow-meta{letter-spacing:.02em;text-transform:none;font-weight:500;color:var(--color-text-secondary)}.as__title{margin:0;display:flex;align-items:baseline;gap:var(--space-sm);font-weight:600;color:var(--color-foreground);letter-spacing:-.01em}.as__title-day{font-size:var(--font-size-xl);text-transform:capitalize;font-weight:700;letter-spacing:-.015em}.as__title-date{font-size:var(--font-size-md);font-weight:500;color:var(--color-text-secondary);text-transform:lowercase}.as__strip{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-xs);min-height:28px}.as__strip-empty{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:500}.as__strip-pills{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.as__chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px 3px 7px;border-radius:var(--radius-full);font-size:12px;font-weight:600;letter-spacing:-.005em;animation:as-chip-in .22s var(--ease-out)}.as__chip--absent{color:var(--as-c-absent);background:var(--as-bg-absent)}.as__chip--late{color:var(--as-c-late);background:var(--as-bg-late)}.as__chip--justified{color:var(--as-c-justified);background:var(--as-bg-justified)}.as__reset{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-strong, var(--color-border));border-radius:var(--radius-full);font-size:11px;font-weight:600;letter-spacing:.005em;cursor:pointer;transition:all .16s var(--ease-out);font-family:inherit}.as__reset:not(:disabled):hover{color:var(--color-foreground);border-color:color-mix(in oklab,var(--color-foreground) 16%,transparent)}.as__reset:disabled{opacity:.4;cursor:not-allowed}.as__search{position:relative;display:flex;align-items:center;margin-top:var(--space-xs)}.as__search-icon{position:absolute;left:11px;color:var(--color-text-tertiary);pointer-events:none}.as__search-input{width:100%;padding:8px 12px 8px 32px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle, var(--color-background));color:var(--color-foreground);font-size:var(--font-size-sm);font-family:inherit;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}.as__search-input::placeholder{color:var(--color-text-tertiary)}.as__search-input:focus{outline:none;border-color:color-mix(in oklab,var(--color-primary) 50%,transparent);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 12%,transparent)}.as__list{flex:1;min-height:0;overflow-y:auto;padding:var(--space-md) var(--space-lg) var(--space-3xl);display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:var(--color-border-strong, var(--color-border)) transparent}.as__list::-webkit-scrollbar{width:6px}.as__list::-webkit-scrollbar-thumb{background:var(--color-border-strong, var(--color-border));border-radius:3px}.as__empty{padding:var(--space-3xl) var(--space-md);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.as-row{position:relative;display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px 10px 14px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);opacity:0;animation:as-row-in .32s var(--ease-out) forwards;transition:border-color .2s var(--ease-out),background .2s var(--ease-out);overflow:hidden}.as-row:hover{border-color:var(--color-border-strong, var(--color-border))}.as-row__edge{position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .22s var(--ease-out)}.as-row[data-status=late] .as-row__edge{background:var(--as-c-late)}.as-row[data-status=absent] .as-row__edge{background:var(--as-c-absent)}.as-row[data-status=justified] .as-row__edge{background:var(--as-c-justified)}.as-row[data-status=absent]{background:color-mix(in oklab,var(--as-c-absent) 4%,var(--color-card))}.as-row__name{flex:1;min-width:0;font-size:var(--font-size-base);font-weight:500;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.as-row__tail{display:flex;align-items:center;gap:4px;flex-shrink:0}.as-row__attach{position:relative;display:inline-flex;align-items:center;justify-content:center;width:0;height:28px;padding:0;margin:0;border:0;background:transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;opacity:0;transform:translate(4px);transition:width .22s var(--ease-out),opacity .2s var(--ease-out),transform .22s var(--ease-out),background .16s var(--ease-out),color .16s var(--ease-out);pointer-events:none}.as-row__attach--show{width:28px;opacity:1;transform:translate(0);pointer-events:auto;margin-right:2px}.as-row__attach:hover{background:var(--color-surface-subtle);color:var(--color-foreground)}.as-row__attach--has{color:var(--as-c-justified);background:var(--as-bg-justified)}.as-row__attach-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--as-c-present);box-shadow:0 0 0 2px var(--color-card)}.as-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;background:var(--color-surface-subtle, var(--color-muted));border:1px solid var(--color-border);border-radius:10px}.as-seg__btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;padding:0;border:0;background:transparent;color:var(--color-text-tertiary);border-radius:7px;cursor:pointer;transition:all .18s var(--ease-out);font-family:inherit}.as-seg__btn:hover{color:var(--color-text-secondary)}.as-seg__btn--active{transform:scale(1.02)}.as-seg__btn--active.as-seg__btn--present{color:var(--as-c-present);background:var(--as-bg-present)}.as-seg__btn--active.as-seg__btn--late{color:var(--as-c-late);background:var(--as-bg-late)}.as-seg__btn--active.as-seg__btn--absent{color:var(--as-c-absent);background:var(--as-bg-absent)}.as-seg__btn--active.as-seg__btn--justified{color:var(--as-c-justified);background:var(--as-bg-justified)}.as-seg__btn:active{transform:scale(.94)}.as__footer{flex-shrink:0;padding:var(--space-md) var(--space-lg) max(var(--space-lg),env(safe-area-inset-bottom));background:var(--color-card);border-top:1px solid var(--color-border);box-shadow:0 -4px 16px color-mix(in oklab,var(--color-foreground) 4%,transparent)}.as__save{width:100%;height:44px;font-weight:600;letter-spacing:-.005em}.as__save-label{display:inline-flex;align-items:baseline;gap:6px}.as__save-meta{font-weight:500;opacity:.7;font-size:var(--font-size-sm)}.as__save-saved{display:inline-flex;align-items:center;gap:6px}@keyframes as-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes as-chip-in{0%{opacity:0;transform:translateY(-2px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.as-row,.as__chip,.as-row__attach,.as-row__edge,.as-seg__btn{animation:none!important;transition:none!important}}@media (max-width: 380px){.as__header{padding:var(--space-lg) var(--space-md) var(--space-sm)}.as__list,.as__footer{padding-left:var(--space-md);padding-right:var(--space-md)}.as-row{padding:9px 10px 9px 12px}.as-seg__btn{width:28px;height:24px}}@media (min-width: 768px){.as__header{padding:var(--space-2xl) var(--space-2xl) var(--space-md)}.as__list{padding:var(--space-md) var(--space-2xl) var(--space-3xl)}.as__footer{padding-left:var(--space-2xl);padding-right:var(--space-2xl)}.as__title-day{font-size:var(--font-size-2xl)}.as-seg__btn{width:34px;height:28px}}@media (prefers-color-scheme: dark){.as-row[data-status=absent]{background:color-mix(in oklab,var(--as-c-absent) 9%,var(--color-card))}.as-row__attach-dot{box-shadow:0 0 0 2px var(--color-card)}}.sd-shell{--sd-accent: var(--color-primary);display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-background)}.sd-shell--inline{height:auto;max-height:calc(100vh - 80px);border:1px solid var(--color-border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-md, 0 2px 8px rgba(15, 23, 42, .06))}.sd-shell--inline .sd-header{padding-top:var(--space-lg)}.sd-shell--inline .sd-header__eyebrow{padding-right:0}.sd-loading{flex:1;display:flex;align-items:center;justify-content:center}.sd-header{position:relative;padding:calc(var(--space-lg) + 4px) var(--space-lg) var(--space-md);padding-top:max(calc(var(--space-lg) + 4px),env(safe-area-inset-top));background:var(--color-card);border-bottom:1px solid var(--color-border);flex-shrink:0}.sd-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--sd-accent)}.sd-header__eyebrow{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in oklab,var(--sd-accent) 80%,var(--color-text-secondary));margin-bottom:6px;padding-right:40px}.sd-header__sep{opacity:.5}.sd-header__title{display:inline-flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;padding:0;margin:0 0 6px;text-align:left;font-family:inherit;font-size:var(--font-size-2xl);font-weight:800;letter-spacing:-.02em;color:var(--color-foreground);line-height:1.15;cursor:text;border-radius:var(--radius-sm);transition:background .15s var(--ease-out)}.sd-header__title:hover{background:var(--color-surface-hover)}.sd-header__title-icon{opacity:0;color:var(--color-text-tertiary);transition:opacity .15s var(--ease-out);flex-shrink:0}.sd-header__title:hover .sd-header__title-icon{opacity:1}.sd-header__title-input{width:100%;border:none;background:var(--color-surface-hover);padding:4px 8px;margin:0 0 6px;font-family:inherit;font-size:var(--font-size-2xl);font-weight:800;letter-spacing:-.02em;color:var(--color-foreground);line-height:1.15;border-radius:var(--radius-sm);outline:2px solid var(--sd-accent);outline-offset:0}.sd-header__when{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.sd-header__when>span:first-child:first-letter{text-transform:uppercase}.sd-header__time{display:inline-flex;align-items:center;padding:2px 8px;background:color-mix(in oklab,var(--sd-accent) 10%,transparent);color:color-mix(in oklab,var(--sd-accent) 80%,var(--color-foreground));font-weight:600;font-size:var(--font-size-xs);border-radius:9999px;text-transform:none;font-variant-numeric:tabular-nums}.sd-body{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-xl);-webkit-overflow-scrolling:touch}.sd-section{display:flex;flex-direction:column;gap:var(--space-md)}.sd-section__title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:var(--font-size-sm);font-weight:700;color:var(--color-foreground);letter-spacing:-.005em}.sd-section__title svg{color:var(--sd-accent)}.sd-section__hint{margin-left:6px;font-weight:500;color:var(--color-muted-foreground);font-size:.78rem}.sd-materials{display:flex;flex-direction:column;gap:var(--space-sm)}.sd-material{position:relative;display:flex;align-items:stretch;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out),transform .16s var(--ease-out);animation:sd-fade-in .36s cubic-bezier(.16,1,.3,1) both}.sd-material:hover{border-color:color-mix(in oklab,var(--sd-accent) 35%,var(--color-border));box-shadow:var(--shadow-sm)}.sd-material__main{flex:1;display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border:none;background:transparent;text-align:left;font-family:inherit;cursor:pointer;min-width:0}.sd-material__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md)}.sd-material__text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.sd-material__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-material__kind{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.3}.sd-material__sep{opacity:.7}.sd-material__detach{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;border:none;border-left:1px solid var(--color-border);background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out)}.sd-material__detach:hover{background:#e11d4814;color:#be123c}.sd-create-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.sd-create-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-card);border:1.5px solid var(--color-border);border-radius:var(--radius-md);text-align:left;font-family:inherit;cursor:pointer;transition:border-color .18s var(--ease-out),background .18s var(--ease-out),transform .16s var(--ease-out)}.sd-create-card:hover{border-color:color-mix(in oklab,var(--sd-accent) 40%,var(--color-border));background:color-mix(in oklab,var(--sd-accent) 3%,var(--color-card))}.sd-create-card:active{transform:scale(.985)}.sd-create-card__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md)}.sd-create-card__text{display:flex;flex-direction:column;gap:2px;min-width:0}.sd-create-card__label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);line-height:1.3}.sd-create-card__desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.3}.sd-upload{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:var(--space-sm) var(--space-md);background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:inherit;font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:border-color .15s var(--ease-out),color .15s var(--ease-out),background .15s var(--ease-out)}.sd-upload:hover{border-color:var(--sd-accent);color:var(--sd-accent);background:color-mix(in oklab,var(--sd-accent) 4%,transparent)}.sd-file-input{display:none}.sd-attendance{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;font-family:inherit;cursor:pointer;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out),transform .16s var(--ease-out)}.sd-attendance:hover{border-color:color-mix(in oklab,var(--sd-accent) 35%,var(--color-border));box-shadow:var(--shadow-sm)}.sd-attendance:active{transform:scale(.99)}.sd-attendance__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--sd-accent) 12%,transparent);color:var(--sd-accent)}.sd-attendance__text{display:flex;flex-direction:column;gap:2px}.sd-attendance__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground)}.sd-attendance__hint{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.sd-notes{width:100%;min-height:96px;padding:var(--space-md);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-foreground);line-height:1.55;resize:vertical;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.sd-notes::placeholder{color:var(--color-text-tertiary)}.sd-notes:focus{outline:none;border-color:var(--sd-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--sd-accent) 12%,transparent)}.sd-notes-status{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}.sd-notes-status--saving{color:var(--color-text-tertiary)}.sd-notes-status--saved{color:var(--color-status-success);animation:sd-fade-in .25s ease-out both}.sd-header__ops{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.sd-op{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--color-border);background:var(--color-card);border-radius:var(--radius-md);font-size:12px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .12s var(--ease-out)}.sd-op:hover{border-color:var(--sd-accent);color:var(--sd-accent)}.sd-op__date{border:none;background:transparent;font:inherit;color:inherit;padding:0;cursor:pointer;font-variant-numeric:tabular-nums}.sd-op__date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.sd-op--cancel:hover{border-color:var(--color-status-danger);color:var(--color-status-danger)}.sd-op--reactivate{background:color-mix(in oklab,var(--color-status-warning) 10%,transparent);border-color:color-mix(in oklab,var(--color-status-warning) 35%,transparent);color:var(--color-status-warning)}.sd-shift-suggestion{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;background:color-mix(in oklab,var(--sd-accent, var(--color-primary)) 8%,var(--color-card));border:1px solid color-mix(in oklab,var(--sd-accent, var(--color-primary)) 28%,transparent);border-radius:var(--radius-md);flex-wrap:wrap;animation:sd-shift-in .18s var(--ease-out)}@keyframes sd-shift-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sd-shift-suggestion__icon{flex-shrink:0;color:var(--sd-accent, var(--color-primary))}.sd-shift-suggestion__text{flex:1;min-width:0;font-size:13px;color:var(--color-text-primary);line-height:1.4}.sd-shift-suggestion__actions{display:flex;gap:6px;margin-left:auto}.sd-shift-suggestion__btn{height:28px;padding:0 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .12s var(--ease-out)}.sd-shift-suggestion__btn:disabled{opacity:.55;cursor:not-allowed}.sd-shift-suggestion__btn--ghost{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border)}.sd-shift-suggestion__btn--ghost:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-card)}.sd-shift-suggestion__btn--primary{background:var(--sd-accent, var(--color-primary));color:#fff}.sd-shift-suggestion__btn--primary:hover:not(:disabled){filter:brightness(1.05)}.sd-plan{background:color-mix(in oklab,var(--sd-accent, var(--color-primary)) 4%,var(--color-card));border:1px solid color-mix(in oklab,var(--sd-accent, var(--color-primary)) 18%,var(--color-border));border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:10px}.sd-plan__title{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sd-accent, var(--color-primary))}.sd-plan__title-icon{flex-shrink:0}.sd-plan__focus{width:100%;background:transparent;border:1px dashed transparent;border-radius:var(--radius-md);padding:6px 8px;font-family:inherit;font-size:var(--font-size-md);font-weight:700;color:var(--color-foreground);outline:none;transition:all .12s var(--ease-out);line-height:1.35}.sd-plan__focus::placeholder{font-weight:500;color:var(--color-text-tertiary)}.sd-plan__focus:hover{border-color:color-mix(in oklab,var(--sd-accent) 25%,transparent)}.sd-plan__focus:focus{border-color:var(--sd-accent);border-style:solid;background:var(--color-card)}.sd-bullets{display:flex;flex-direction:column;gap:2px;padding:0}.sd-bullet{display:flex;align-items:center;gap:8px;padding:3px 8px;border-radius:6px;transition:background-color .12s var(--ease-out)}.sd-bullet:focus-within{background:var(--color-card)}.sd-bullet__dot{color:var(--sd-accent);font-weight:700;flex-shrink:0;font-size:14px;line-height:1}.sd-bullet__input{flex:1;border:none;outline:none;background:transparent;padding:2px 0;font-family:inherit;font-size:.92rem;color:var(--color-foreground);line-height:1.45}.sd-bullet--small .sd-bullet__input{font-size:.85rem;color:var(--color-text-secondary)}.sd-bullet--small .sd-bullet__dot{font-size:12px}.sd-bullet__add{display:inline-flex;align-items:center;gap:4px;margin:4px 0 0 8px;padding:0;background:transparent;border:none;font-family:inherit;font-size:12px;font-weight:500;color:var(--color-text-tertiary);cursor:pointer;width:max-content;transition:color .12s var(--ease-out)}.sd-bullet__add:hover{color:var(--sd-accent)}.sd-bullet__add--small{font-size:11px}.sd-plan__objectives{display:flex;flex-direction:column;gap:2px;margin-top:6px;padding-top:8px;border-top:1px dashed color-mix(in oklab,var(--sd-accent) 18%,transparent)}.sd-plan__objectives-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);margin:2px 0 4px 8px}.sd-plan__reminder{width:100%;margin-top:2px;padding:6px 10px;background:var(--color-card);border:1px dashed var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:12px;color:var(--color-text-secondary);outline:none;transition:border-color .12s var(--ease-out)}.sd-plan__reminder::placeholder{color:var(--color-text-tertiary);font-style:italic}.sd-plan__reminder:focus{border-style:solid;border-color:var(--sd-accent);color:var(--color-foreground)}.sd-section__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.sd-section__title--inline{margin:0;display:inline-flex}.sd-create-menu{position:relative}.sd-create-trigger{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 12px;background:var(--sd-accent, var(--color-primary));color:#fff;border:none;border-radius:14px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:filter .12s var(--ease-out)}.sd-create-trigger:hover{filter:brightness(1.06)}.sd-create-menu__list{position:absolute;top:calc(100% + 6px);right:0;z-index:10;min-width:180px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:4px;display:flex;flex-direction:column;gap:2px;animation:sd-fade-in .14s var(--ease-out)}.sd-create-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;background:transparent;border:none;border-radius:8px;font-family:inherit;font-size:13px;color:var(--color-foreground);cursor:pointer;text-align:left;transition:background-color .12s var(--ease-out)}.sd-create-menu__item:hover{background:color-mix(in oklab,var(--sd-accent) 8%,transparent)}.sd-create-menu__item--upload{border-top:1px solid var(--color-border);margin-top:4px;padding-top:9px;border-radius:0 0 8px 8px}.sd-create-menu__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px}.sd-create-menu__icon--neutral{background:var(--color-card);color:var(--color-text-secondary);border:1px solid var(--color-border)}.sd-create-menu__label{font-weight:500}.sd-materials__divider{margin:12px 0 6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.sd-attendance--hero{background:color-mix(in oklab,var(--sd-accent, var(--color-primary)) 8%,var(--color-card));border:1px solid color-mix(in oklab,var(--sd-accent) 28%,transparent);padding:14px var(--space-md)}.sd-attendance--hero .sd-attendance__icon{width:44px;height:44px;background:var(--sd-accent, var(--color-primary));color:#fff}.sd-attendance--hero .sd-attendance__title{font-size:15px;font-weight:700}.sd-attendance__chevron{margin-left:auto;color:var(--sd-accent, var(--color-primary));flex-shrink:0}.sd-notes-block{display:block}.sd-notes-block[open] .sd-notes-block__summary:after{transform:rotate(90deg)}.sd-notes-block__summary{list-style:none;display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary);transition:color .12s var(--ease-out);-webkit-user-select:none;user-select:none}.sd-notes-block__summary::-webkit-details-marker{display:none}.sd-notes-block__summary:hover{color:var(--sd-accent)}.sd-notes-block__summary:after{content:"›";margin-left:auto;font-size:16px;font-weight:700;color:var(--color-text-tertiary);transition:transform .16s var(--ease-out)}.sd-notes-block__label{display:inline-flex;align-items:center;gap:6px}.sd-notes-block__has-content{width:6px;height:6px;border-radius:50%;background:var(--sd-accent);display:inline-block}.sd-notes-block[open]>.sd-notes{margin-top:6px}@keyframes sd-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.sd-material,.sd-notes-status--saved{animation:none}.sd-create-card:active,.sd-attendance:active{transform:none}}@media (prefers-color-scheme: dark){.sd-header__time{background:color-mix(in oklab,var(--sd-accent) 22%,transparent)}.sd-create-card:hover{background:color-mix(in oklab,var(--sd-accent) 8%,var(--color-card))}.sd-attendance__icon{background:color-mix(in oklab,var(--sd-accent) 22%,transparent)}}@media (min-width: 720px){.sd-create-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sd-create-card{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}}.db{display:flex;flex-direction:column;background:var(--color-card);color:var(--color-foreground);height:100%;min-height:0}.db__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--color-border)}.db__head-main{display:flex;flex-direction:column;gap:6px;min-width:0}.db__title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.025em;line-height:1;color:var(--color-foreground)}.db__date-nav{display:inline-flex;align-items:center;gap:6px}.db__nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-card);color:var(--color-muted-foreground);border-radius:8px;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.db__nav-btn:hover{background:var(--color-surface-hover);color:var(--color-foreground);border-color:var(--color-border-strong)}.db__date-label{font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--color-muted-foreground);text-transform:capitalize;font-variant-numeric:tabular-nums;min-width:90px;text-align:center}.db__today-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--color-border-strong);color:var(--color-primary);font-family:inherit;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;cursor:pointer;margin-left:4px;letter-spacing:.02em}.db__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--color-muted-foreground);cursor:pointer;transition:background .12s,color .12s;flex-shrink:0}.db__close:hover{background:var(--color-surface-hover);color:var(--color-foreground)}.db__body{display:flex;flex-direction:column;gap:22px;padding:18px 20px 24px;overflow-y:auto;flex:1;min-height:0}.db__loading,.db__error,.db__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:36px 16px;color:var(--color-muted-foreground);font-size:13.5px;text-align:center}.db__error{color:var(--color-danger);flex-direction:row;flex-wrap:wrap;padding:14px;background:#dc26260f;border-radius:10px}.db__retry{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid currentColor;color:currentColor;font-family:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;cursor:pointer}.db__spinner{width:22px;height:22px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:db-spin .7s linear infinite}@keyframes db-spin{to{transform:rotate(360deg)}}.db__spin{animation:db-spin .7s linear infinite}.db-section{display:flex;flex-direction:column;gap:12px}.db-section__head{display:inline-flex;align-items:center;gap:7px;color:var(--color-muted-foreground)}.db-section__head svg{color:var(--color-primary)}.db-section__title{margin:0;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-foreground)}.db-section__hint{margin-left:auto;font-size:10.5px;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--color-muted-foreground);font-style:italic}.db-route{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 20px 6px;margin:0 -20px}.db-route::-webkit-scrollbar{display:none}.db-route__block{position:relative;flex:0 0 158px;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;padding:12px 12px 14px;background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;font-family:inherit;text-align:left;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease,border-color .2s ease;overflow:hidden;isolation:isolate}.db-route__block:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 60%,currentColor 200%);opacity:.05;pointer-events:none;z-index:0}.db-route__block:hover{transform:translateY(-2px);box-shadow:0 12px 24px -16px #0f172a2e}.db-route__block--calm{color:var(--color-primary)}.db-route__block--mild{color:#b45309}.db-route__block--hot{color:#be123c}.db-route__block--calm:hover{border-color:#15665e4d}.db-route__block--mild:hover{border-color:#d9770659}.db-route__block--hot:hover{border-color:#e11d4859}.db-route__time{display:inline-flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums;position:relative;z-index:1}.db-route__hour{font-size:16px;font-weight:700;letter-spacing:-.02em;color:var(--color-foreground)}.db-route__hour-end{font-size:11px;font-weight:500;color:var(--color-muted-foreground)}.db-route__name{font-size:13px;font-weight:700;letter-spacing:-.015em;color:var(--color-foreground);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1}.db-route__sub{font-size:11px;font-weight:500;color:var(--color-muted-foreground);letter-spacing:-.005em;line-height:1.2;position:relative;z-index:1}.db-route__bar{position:relative;height:4px;border-radius:999px;background:var(--color-border);overflow:hidden;margin-top:4px;z-index:1}.db-route__bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;width:100%}.db-route__bar-fill--calm{background:var(--color-primary);width:30%;opacity:.55}.db-route__bar-fill--mild{background:#d97706;width:65%;opacity:.85}.db-route__bar-fill--hot{background:#e11d48;width:100%;opacity:.95}.db-route__reasons{display:flex;flex-wrap:wrap;gap:4px;position:relative;z-index:1}.db-route__chip{display:inline-flex;align-items:center;padding:2px 7px;font-size:10px;font-weight:600;border-radius:999px;background:var(--color-surface-subtle);color:var(--color-muted-foreground);border:1px solid var(--color-border);letter-spacing:0;white-space:nowrap}.db-route__chip--more{font-variant-numeric:tabular-nums}.db-route__chip--ok{color:var(--color-primary);border-color:#15665e2e;background:#15665e0d}.db-route__block--mild .db-route__chip:not(.db-route__chip--ok):not(.db-route__chip--more){color:#b45309;border-color:#d9770633;background:#d977060d}.db-route__block--hot .db-route__chip:not(.db-route__chip--ok):not(.db-route__chip--more){color:#be123c;border-color:#e11d4838;background:#e11d480d}.db-route__tag{position:absolute;top:8px;right:8px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px;background:#e11d481a;color:#be123c;z-index:2}.db-route__legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10.5px;font-weight:500;color:var(--color-muted-foreground);letter-spacing:.01em;margin-top:-2px}.db-route__legend span{display:inline-flex;align-items:center;gap:5px}.db-dot{display:inline-block;width:6px;height:6px;border-radius:50%}.db-dot--calm{background:var(--color-primary);opacity:.55}.db-dot--mild{background:#d97706}.db-dot--hot{background:#e11d48}.db-focus{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (min-width: 600px){.db-focus{grid-template-columns:repeat(3,1fr)}}.db-focus__card{position:relative;display:flex;flex-direction:column;gap:8px;padding:14px;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;font-family:inherit;text-align:left;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .22s;min-height:168px}.db-focus__card:hover{transform:translateY(-2px);box-shadow:0 14px 28px -18px #0f172a38}.db-focus__card:before{content:"";position:absolute;right:-36px;top:-36px;width:130px;height:130px;border-radius:50%;filter:blur(28px);opacity:.45;pointer-events:none;z-index:0}.db-focus__card--student:before{background:#6d28d9;opacity:.25}.db-focus__card--urgency:before{background:#e11d48;opacity:.25}.db-focus__card--moment:before{background:#d97706;opacity:.25}.db-focus__card--student:hover{border-color:#7c3aed4d}.db-focus__card--urgency:hover{border-color:#e11d4859}.db-focus__card--moment:hover{border-color:#d9770659}.db-focus__head{display:flex;align-items:center;justify-content:space-between;gap:6px;position:relative;z-index:1}.db-focus__label{font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted-foreground)}.db-focus__icon{color:var(--color-muted-foreground)}.db-focus__card--urgency .db-focus__icon{color:#e11d48}.db-focus__card--moment .db-focus__icon{color:#d97706}.db-focus__trend{display:inline-flex;align-items:center;width:18px;height:18px;border-radius:50%;justify-content:center}.db-focus__trend--declining{background:#e11d481f;color:#e11d48}.db-focus__trend--improving{background:#0596691f;color:#047857}.db-focus__avatar-row{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:1}.db-focus__avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;font-size:13.5px;font-weight:700;letter-spacing:-.01em;flex-shrink:0}.db-focus__avg{display:flex;flex-direction:column;align-items:flex-end;gap:0;font-variant-numeric:tabular-nums}.db-focus__avg-num{font-size:22px;font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--color-foreground)}.db-focus__avg-cap{font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-foreground)}.db-focus__big{display:flex;align-items:baseline;gap:6px;font-variant-numeric:tabular-nums;position:relative;z-index:1}.db-focus__big-num{font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--color-foreground)}.db-focus__card--urgency .db-focus__big-num{color:#be123c}.db-focus__card--moment .db-focus__big-num{color:#b45309}.db-focus__big-cap{font-size:11px;font-weight:600;color:var(--color-muted-foreground);letter-spacing:-.005em;line-height:1.1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.db-focus__name{font-size:13px;font-weight:700;letter-spacing:-.015em;color:var(--color-foreground);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1}.db-focus__meta{font-size:11px;font-weight:500;color:var(--color-muted-foreground);letter-spacing:-.005em;line-height:1.3;position:relative;z-index:1}.db-focus__meta strong{font-weight:700;color:var(--color-foreground);font-variant-numeric:tabular-nums}.db-focus__bar{position:relative;height:3px;border-radius:999px;background:var(--color-border);overflow:hidden;margin-top:auto;z-index:1}.db-focus__bar-fill{position:absolute;left:0;top:0;height:100%;border-radius:inherit}.db-focus__bar-fill--calm{background:var(--color-primary);opacity:.65}.db-focus__bar-fill--mild{background:#d97706}.db-focus__bar-fill--hot{background:#e11d48}.db-focus__reason{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--color-muted-foreground);letter-spacing:-.005em;position:relative;z-index:1;line-height:1.25}.db-focus__chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px;position:relative;z-index:1}.db-focus__chip{display:inline-flex;padding:2px 7px;font-size:10px;font-weight:600;border-radius:999px;background:#d9770614;color:#b45309;border:1px solid rgba(217,119,6,.2);letter-spacing:0;white-space:nowrap}.db-ai{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px 16px 16px 22px;background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;overflow:hidden}.db-ai__rail{position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--color-primary) 0%,rgba(124,58,237,.7) 100%)}.db-ai__rail--pulse{animation:db-ai-pulse 1.4s ease-in-out infinite}@keyframes db-ai-pulse{0%,to{opacity:.55}50%{opacity:1}}.db-ai--calm{background:var(--color-surface-subtle)}.db-ai__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.db-ai__kicker{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary)}.db-ai__kicker svg{flex-shrink:0}.db-ai__refresh{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid transparent;font-family:inherit;font-size:11px;font-weight:600;color:var(--color-muted-foreground);cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:8px;transition:background .12s,color .12s,border-color .12s}.db-ai__refresh:hover:not(:disabled){color:var(--color-foreground);background:var(--color-surface-subtle);border-color:var(--color-border)}.db-ai__refresh:disabled{opacity:.6;cursor:progress}.db-ai__headline{margin:0;font-size:19px;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--color-foreground)}.db-ai__lead{margin:0;font-size:13.5px;font-weight:500;line-height:1.5;letter-spacing:-.005em;color:var(--color-muted-foreground)}.db-ai__block{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--color-border)}.db-ai__block-head{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted-foreground)}.db-ai__block-head svg{flex-shrink:0}.db-ai__priorities{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.db-ai__priority{display:grid;grid-template-columns:22px 22px 1fr;gap:8px;align-items:start;padding:9px 10px;background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:10px;transition:background .12s}.db-ai__priority:hover{background:var(--color-card)}.db-ai__priority-rank{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-foreground, #fff);font-size:11px;font-weight:700;letter-spacing:-.01em;flex-shrink:0}.db-ai__priority-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:var(--color-card);color:var(--color-primary);border:1px solid var(--color-border);flex-shrink:0;margin-top:0}.db-ai__priority-body{min-width:0;display:flex;flex-direction:column;gap:3px}.db-ai__priority-title{margin:0;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:-.005em;color:var(--color-foreground)}.db-ai__priority-detail{margin:0;font-size:12px;font-weight:500;line-height:1.4;color:var(--color-muted-foreground)}.db-ai__priority-when{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin-top:2px;padding:2px 7px;background:var(--color-card);border:1px solid var(--color-border);border-radius:999px;font-size:10.5px;font-weight:600;color:var(--color-muted-foreground);letter-spacing:0}.db-ai__watch{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.db-ai__watch-row{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:7px 0}.db-ai__watch-row+.db-ai__watch-row{border-top:1px dashed var(--color-border)}.db-ai__watch-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-surface-subtle);color:var(--color-foreground);border:1px solid var(--color-border);font-size:10.5px;font-weight:700;letter-spacing:-.01em;flex-shrink:0}.db-ai__watch-body{display:flex;flex-direction:column;gap:2px;min-width:0}.db-ai__watch-name{margin:0;font-size:12.5px;font-weight:600;letter-spacing:-.005em;color:var(--color-foreground);display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.db-ai__watch-context{font-size:11px;font-weight:500;color:var(--color-muted-foreground);letter-spacing:0}.db-ai__watch-detail{margin:0;font-size:12px;font-weight:500;line-height:1.4;color:var(--color-muted-foreground)}.db-ai__horizon{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.db-ai__horizon-row{display:grid;grid-template-columns:8px 1fr;gap:10px;align-items:start}.db-ai__horizon-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);margin-top:6px;opacity:.7;flex-shrink:0}.db-ai__horizon-body{display:flex;flex-direction:column;gap:2px;min-width:0}.db-ai__horizon-label{margin:0;font-size:12.5px;font-weight:600;letter-spacing:-.005em;color:var(--color-foreground)}.db-ai__horizon-detail{margin:0;font-size:12px;font-weight:500;line-height:1.4;color:var(--color-muted-foreground)}.db-ai__closing{margin:0;padding-top:10px;border-top:1px solid var(--color-border);font-size:12.5px;font-weight:500;font-style:italic;line-height:1.5;color:var(--color-muted-foreground);letter-spacing:-.005em}.db-ai--empty{gap:8px}.db-ai__empty-content{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.db-ai__empty-copy{margin:0;font-size:12.5px;font-weight:500;line-height:1.45;color:var(--color-muted-foreground);letter-spacing:-.005em}.db-ai__error{margin:0;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-destructive, #dc2626)}.db-ai__cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--color-primary);color:var(--color-primary-foreground, #fff);font-family:inherit;font-size:12.5px;font-weight:600;letter-spacing:-.005em;cursor:pointer;padding:8px 14px;border-radius:9px;display:inline-flex;align-items:center;gap:7px;transition:filter .12s,transform .12s}.db-ai__cta:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.db-ai__cta:disabled{opacity:.7;cursor:progress}.db-ai--loading{gap:10px}.db-ai__loading{display:flex;flex-direction:column;gap:9px}.db-ai__skel{border-radius:6px;background:linear-gradient(90deg,var(--color-surface-subtle) 0%,var(--color-border) 50%,var(--color-surface-subtle) 100%);background-size:200% 100%;animation:db-ai-shimmer 1.4s ease-in-out infinite}@keyframes db-ai-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.db-ai__skel--headline{height:18px;width:70%}.db-ai__skel--lead{height:11px;width:95%}.db-ai__skel--lead.db-ai__skel--short{width:60%}.db-ai__skel-block{display:flex;flex-direction:column;gap:6px;margin-top:6px}.db-ai__skel--row{height:32px;width:100%}.db-ai__loading-hint{margin-top:4px;font-size:11.5px;font-weight:500;color:var(--color-muted-foreground);letter-spacing:-.005em}@media (prefers-color-scheme: dark){.db-ai__priority-rank{background:#7c3aedd9}.db-ai__horizon-dot{background:#a78bfa}}.db__nudge{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;background:#15665e0a;border:1px solid rgba(21,102,94,.14);border-radius:10px;font-size:12px;font-weight:500;color:var(--color-foreground);letter-spacing:-.005em}.db__nudge svg{color:var(--color-primary);flex-shrink:0}@media (prefers-color-scheme: dark){.db-route__block--mild{color:#fcd34d}.db-route__block--hot{color:#fda4af}.db-route__block--mild .db-route__chip:not(.db-route__chip--ok):not(.db-route__chip--more){color:#fcd34d;border-color:#fbbf243d;background:#fbbf2414}.db-route__block--hot .db-route__chip:not(.db-route__chip--ok):not(.db-route__chip--more){color:#fda4af;border-color:#f472b63d;background:#f472b614}.db-route__tag{background:#f472b629;color:#fda4af}.db-focus__card--urgency .db-focus__big-num,.db-focus__card--urgency .db-focus__icon{color:#fda4af}.db-focus__card--moment .db-focus__big-num,.db-focus__card--moment .db-focus__icon{color:#fcd34d}.db-focus__chip{background:#fbbf241f;color:#fcd34d;border-color:#fbbf2438}.db-focus__trend--declining{background:#f472b62e;color:#fda4af}.db-focus__trend--improving{background:#34d3992e;color:#6ee7b7}}.mgm{position:relative;display:flex;flex-direction:column;gap:18px;padding:26px 22px 20px;background:var(--color-card);color:var(--color-foreground);isolation:isolate;overflow:hidden;flex:1;min-height:0}.mgm__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.mgm__bg-blob{position:absolute;border-radius:50%;filter:blur(60px)}.mgm__bg-blob--a{top:-80px;left:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(124,58,237,.16),transparent 70%)}.mgm__bg-blob--b{top:40px;right:-80px;width:240px;height:240px;background:radial-gradient(circle,rgba(225,29,72,.1),transparent 70%)}@media (prefers-color-scheme: dark){.mgm__bg-blob--a{background:radial-gradient(circle,rgba(167,139,250,.18),transparent 70%)}.mgm__bg-blob--b{background:radial-gradient(circle,rgba(244,114,182,.14),transparent 70%)}}.mgm__head{position:relative;z-index:1;display:flex;flex-direction:column;gap:8px;padding-right:36px}.mgm__chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 8px;border-radius:999px;background:linear-gradient(135deg,#15665e1f,#7c3aed1f);color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;width:fit-content;border:1px solid rgba(21,102,94,.18)}@media (prefers-color-scheme: dark){.mgm__chip{background:linear-gradient(135deg,#2c9e9233,#a78bfa2e);color:#5eead4;border-color:#5eead43d}}.mgm__title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.03em;color:var(--color-foreground);line-height:1.1}.mgm__sub{margin:0;font-size:12.5px;font-weight:500;color:var(--color-muted-foreground);letter-spacing:-.005em;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mgm__list{position:relative;z-index:1;list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.mgm__row{position:relative;display:flex;align-items:center;gap:14px;width:100%;padding:14px;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;font-family:inherit;text-align:left;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .24s ease,box-shadow .24s ease;opacity:0;transform:translateY(8px);animation:mgm-fade-in .32s cubic-bezier(.2,.8,.2,1) forwards}@keyframes mgm-fade-in{to{opacity:1;transform:translateY(0)}}.mgm__row:hover{transform:translateY(-2px);box-shadow:0 16px 28px -18px #0f172a33,0 2px 6px -2px #0f172a0f}.mgm__row:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.mgm__row:active{transform:translateY(0)}.mgm__row-glow{position:absolute;right:-50px;top:50%;transform:translateY(-50%);width:180px;height:180px;border-radius:50%;filter:blur(40px);opacity:0;transition:opacity .32s ease;pointer-events:none;z-index:0}.mgm__row:hover .mgm__row-glow{opacity:.45}.mgm__row-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;flex-shrink:0;z-index:1;transition:transform .32s cubic-bezier(.2,.8,.2,1)}.mgm__row:hover .mgm__row-icon{transform:scale(1.05) rotate(-3deg)}.mgm__row-icon-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:inherit;border:1.5px dashed currentColor;opacity:.18;transition:opacity .32s ease,transform .6s linear;pointer-events:none}.mgm__row:hover .mgm__row-icon-ring{opacity:.45;transform:rotate(60deg)}.mgm__row-spark{position:absolute;top:-4px;right:-4px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--color-card);color:currentColor;border:1px solid currentColor;opacity:0;transform:scale(.6);transition:opacity .28s ease,transform .28s cubic-bezier(.2,.8,.2,1)}.mgm__row:hover .mgm__row-spark{opacity:1;transform:scale(1)}.mgm__row-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;z-index:1}.mgm__row-label{font-size:15.5px;font-weight:700;letter-spacing:-.02em;color:var(--color-foreground);line-height:1.15}.mgm__row-desc{font-size:12px;font-weight:500;color:var(--color-muted-foreground);letter-spacing:-.005em;line-height:1.3}.mgm__row-chev{display:inline-flex;align-items:center;justify-content:center;color:var(--color-muted-foreground);flex-shrink:0;z-index:1;transition:transform .28s cubic-bezier(.2,.8,.2,1),color .28s ease}.mgm__row:hover .mgm__row-chev{transform:translate(3px);color:currentColor}.mgm__row--violet{color:#7c3aed}.mgm__row--amber{color:#d97706}.mgm__row--emerald{color:#059669}.mgm__row--rose{color:#e11d48}.mgm__row--violet .mgm__row-icon{background:linear-gradient(135deg,#a78bfa2e,#7c3aed1a);color:#6d28d9}.mgm__row--amber .mgm__row-icon{background:linear-gradient(135deg,#fbbf2433,#d977061a);color:#b45309}.mgm__row--emerald .mgm__row-icon{background:linear-gradient(135deg,#34d3992e,#0596691a);color:#047857}.mgm__row--rose .mgm__row-icon{background:linear-gradient(135deg,#fb71852e,#e11d481a);color:#be123c}.mgm__row--violet .mgm__row-glow{background:#7c3aed}.mgm__row--amber .mgm__row-glow{background:#d97706}.mgm__row--emerald .mgm__row-glow{background:#059669}.mgm__row--rose .mgm__row-glow{background:#e11d48}.mgm__row--violet:hover{border-color:#7c3aed57}.mgm__row--amber:hover{border-color:#d9770657}.mgm__row--emerald:hover{border-color:#05966957}.mgm__row--rose:hover{border-color:#e11d4857}@media (prefers-color-scheme: dark){.mgm__row--violet .mgm__row-icon{background:linear-gradient(135deg,#a78bfa38,#7c3aed24);color:#c4b5fd}.mgm__row--amber .mgm__row-icon{background:linear-gradient(135deg,#fbbf2438,#d9770624);color:#fcd34d}.mgm__row--emerald .mgm__row-icon{background:linear-gradient(135deg,#34d39938,#05966924);color:#6ee7b7}.mgm__row--rose .mgm__row-icon{background:linear-gradient(135deg,#fb718538,#e11d4824);color:#fda4af}.mgm__row--violet{color:#c4b5fd}.mgm__row--amber{color:#fcd34d}.mgm__row--emerald{color:#6ee7b7}.mgm__row--rose{color:#fda4af}}.mgm__foot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;margin:auto 0 0;font-size:11px;font-weight:500;color:var(--color-muted-foreground);text-align:center;letter-spacing:-.005em;line-height:1.4}.mgm__foot svg{color:var(--color-primary);flex-shrink:0}@media (prefers-color-scheme: dark){.mgm__foot svg{color:#5eead4}}@media (min-width: 600px){.mgm{padding:30px 28px 24px;gap:22px}.mgm__title{font-size:26px}.mgm__row{padding:16px;gap:16px}.mgm__row-icon{width:52px;height:52px;border-radius:15px}.mgm__row-label{font-size:16px}.mgm__row-desc{font-size:12.5px}}:root{--cal2-ink: var(--color-foreground, #0F172A);--cal2-ink-2: #475569;--cal2-ink-3: #94A3B8;--cal2-ink-4: #CBD5E1;--cal2-surface: var(--color-card, #FFFFFF);--cal2-surface-soft: var(--color-background, #F8FAFC);--cal2-surface-softer: #F1F5F9;--cal2-line: rgba(15, 23, 42, .06);--cal2-line-strong: rgba(15, 23, 42, .12);--cal2-primary: var(--color-primary, #15665E);--cal2-primary-soft: rgba(21, 102, 94, .08);--cal2-primary-softer: rgba(21, 102, 94, .04);--cal2-primary-line: rgba(21, 102, 94, .18);--cal2-warn: #C2410C;--cal2-warn-soft: rgba(194, 65, 12, .08);--cal2-warn-line: rgba(194, 65, 12, .18);--cal2-other: #4F46E5;--cal2-other-soft: rgba(79, 70, 229, .08);--cal2-other-line: rgba(79, 70, 229, .18);--cal2-success: #047857;--cal2-danger: #B91C1C;--cal2-radius: 14px;--cal2-radius-sm: 10px;--cal2-radius-xs: 8px;--cal2-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--cal2-shadow-md: 0 1px 3px rgba(15, 23, 42, .05), 0 4px 12px rgba(15, 23, 42, .04);--cal2-num-font: "Inter", -apple-system, BlinkMacSystemFont, sans-serif}.cal2-page{background:var(--color-background, #F8FAFC)}.cal2{display:flex;flex-direction:column;gap:14px;padding:16px 16px 0}.cal2-hero{padding:8px 4px 0}.cal2-hero{display:flex;flex-direction:column;gap:14px}.cal2-hero__meta{display:flex;flex-direction:column;gap:4px}.cal2-hero__greet{font-size:22px;font-weight:700;letter-spacing:-.025em;color:var(--cal2-ink);line-height:1.1}.cal2-hero__date{font-size:13px;font-weight:500;color:var(--cal2-ink-2);display:inline-flex;align-items:baseline;gap:6px;letter-spacing:-.005em;text-transform:capitalize;font-variant-numeric:tabular-nums}.cal2-hero__day{color:var(--cal2-primary);font-weight:600}.cal2-hero__sep{color:var(--cal2-ink-4)}.cal2-hero__stats{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 2px}.cal2-stat{display:inline-flex;align-items:baseline;gap:6px;padding:7px 12px 7px 10px;background:var(--cal2-surface);border:1px solid var(--cal2-line);border-radius:999px;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s,transform .12s;box-shadow:var(--cal2-shadow-sm)}.cal2-stat:hover{border-color:var(--cal2-line-strong)}.cal2-stat:active{transform:scale(.98)}.cal2-stat__num{font-size:16px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.cal2-stat__label{font-size:11.5px;font-weight:600;color:var(--cal2-ink-2);letter-spacing:-.005em}.cal2-stat--warn .cal2-stat__num{color:var(--cal2-warn)}.cal2-stat--warn{background:var(--cal2-warn-soft);border-color:var(--cal2-warn-line)}.cal2-stat--warn .cal2-stat__label{color:var(--cal2-warn)}.cal2-stat--alert .cal2-stat__num{color:var(--cal2-danger)}.cal2-stat--alert{background:#b91c1c0f;border-color:#b91c1c2e}.cal2-stat--alert .cal2-stat__label{color:var(--cal2-danger)}.cal2-prep{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:var(--cal2-radius);background:linear-gradient(135deg,#15665e,#1e8a7f);color:#fff;border:none;font-family:inherit;text-align:left;cursor:pointer;box-shadow:0 8px 24px -12px #15665e73,0 1px #ffffff1a inset;overflow:hidden;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s cubic-bezier(.2,.8,.2,1)}.cal2-prep:before{content:"";position:absolute;right:-40px;top:-30px;width:140px;height:140px;background:radial-gradient(closest-side,rgba(255,255,255,.18),transparent);pointer-events:none}.cal2-prep:active{transform:scale(.99)}.cal2-prep--done{background:linear-gradient(135deg,#047857,#059669);box-shadow:0 8px 24px -12px #05966973,0 1px #ffffff1a inset}.cal2-prep__glyph{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#ffffff26;flex-shrink:0}.cal2-prep__txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.cal2-prep__title{font-size:14.5px;font-weight:600;letter-spacing:-.01em;color:#fff}.cal2-prep__sub{font-size:12px;color:#ffffffc7;font-weight:500}.cal2-prep__chev{color:#ffffffb3;flex-shrink:0}.cal2-section{background:var(--cal2-surface);border:1px solid var(--cal2-line);border-radius:18px;padding:16px 16px 18px;box-shadow:var(--cal2-shadow-sm)}.cal2-section--agenda{padding-top:18px}.cal2-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.cal2-section__title{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cal2-ink-2)}.cal2-section__title svg{color:var(--cal2-primary)}.cal2-section__count{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;letter-spacing:0;border-radius:999px;background:var(--cal2-warn-soft);color:var(--cal2-warn);font-variant-numeric:tabular-nums}.cal2-section__dot{width:6px;height:6px;border-radius:50%;background:var(--cal2-ink-3);margin-right:2px}.cal2-section__dot--warn{background:var(--cal2-warn);box-shadow:0 0 0 3px var(--cal2-warn-soft)}.cal2-viewtabs{flex-shrink:0;gap:0}.cal2-viewtabs .cal2-viewtabs__list{display:inline-flex;padding:3px;background:var(--cal2-surface-softer);border:1px solid var(--cal2-line);border-radius:999px;height:auto}.cal2-viewtabs .cal2-viewtabs__trig{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;padding:4px 14px;font-size:12px;font-weight:600;color:var(--cal2-ink-2);border-radius:999px;cursor:pointer;font-family:inherit;letter-spacing:-.005em;transition:color .12s,background .12s;height:auto;border:1px solid transparent;flex:0 0 auto}.cal2-viewtabs .cal2-viewtabs__trig[data-state=active]{background:var(--cal2-surface);color:var(--cal2-ink);box-shadow:var(--cal2-shadow-sm);border-color:var(--cal2-line)}.cal2-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.cal2-nav__btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--cal2-line);background:var(--cal2-surface);color:var(--cal2-ink-2);border-radius:var(--cal2-radius-sm);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.cal2-nav__btn:hover{background:var(--cal2-primary-softer);border-color:var(--cal2-primary-line);color:var(--cal2-primary)}.cal2-nav__center{display:flex;flex-direction:column;align-items:center;gap:2px}.cal2-nav__range{font-size:13.5px;font-weight:600;letter-spacing:-.01em;color:var(--cal2-ink);text-transform:capitalize;font-variant-numeric:tabular-nums}.cal2-nav__range--month{letter-spacing:.005em}.cal2-nav__today{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font-family:inherit;font-size:11px;font-weight:600;color:var(--cal2-primary);cursor:pointer;padding:0;letter-spacing:0}.cal2-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal2-week__day{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px 8px;background:var(--cal2-surface);border:1px solid var(--cal2-line);border-radius:12px;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s,transform .12s;min-height:78px}.cal2-week__day:hover{border-color:var(--cal2-primary-line)}.cal2-week__day--weekend{background:var(--cal2-surface-softer)}.cal2-week__day--empty .cal2-week__num{color:var(--cal2-ink-3)}.cal2-week__day--selected{border-color:var(--cal2-primary);background:var(--cal2-primary-softer)}.cal2-week__day--today{background:var(--cal2-ink);border-color:var(--cal2-ink)}.cal2-week__day--today .cal2-week__name,.cal2-week__day--today .cal2-week__num{color:#fff}.cal2-week__day--today.cal2-week__day--selected{background:var(--cal2-primary);border-color:var(--cal2-primary)}.cal2-week__name{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cal2-ink-3)}.cal2-week__num{font-size:22px;font-weight:700;color:var(--cal2-ink);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.cal2-day__load{position:absolute;left:50%;bottom:8px;transform:translate(-50%);height:3px;border-radius:999px;background:var(--cal2-primary);transition:width .2s ease,opacity .2s ease;pointer-events:none}.cal2-day__load--1{width:14px;opacity:.45}.cal2-day__load--2{width:24px;opacity:.65}.cal2-day__load--3{width:34px;opacity:.85}.cal2-day__load--4{width:44px;opacity:1}.cal2-week__day--today .cal2-day__load,.cal2-week__day--selected.cal2-week__day--today .cal2-day__load{background:#ffffffe6;opacity:1}.cal2-week__day--selected:not(.cal2-week__day--today) .cal2-day__load{opacity:1}.cal2-day__exam{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--cal2-warn);box-shadow:0 0 0 2px var(--cal2-surface);pointer-events:none}.cal2-week__day--today .cal2-day__exam,.cal2-month__day--today .cal2-day__exam{box-shadow:0 0 0 2px var(--cal2-ink)}.cal2-week__day--weekend .cal2-day__exam,.cal2-month__day--we .cal2-day__exam{box-shadow:0 0 0 2px var(--cal2-surface-softer)}.cal2-chip{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;border-radius:999px;border:1px solid transparent;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1}.cal2-chip--session{background:var(--cal2-primary-soft);color:var(--cal2-primary)}.cal2-chip--exam{background:var(--cal2-warn-soft);color:var(--cal2-warn)}.cal2-chip--custom{background:var(--cal2-other-soft);color:var(--cal2-other)}.cal2-week__check{position:absolute;top:6px;left:6px;width:6px;height:6px;border-radius:50%;background:var(--cal2-success);box-shadow:0 0 0 1.5px var(--cal2-surface)}.cal2-week__day--today .cal2-week__check{box-shadow:0 0 0 1.5px var(--cal2-ink)}.cal2-week__day--weekend .cal2-week__check{box-shadow:0 0 0 1.5px var(--cal2-surface-softer)}.cal2-month{background:var(--cal2-surface);border:1px solid var(--cal2-line);border-radius:var(--cal2-radius);overflow:hidden}.cal2-month__header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--cal2-surface-softer);border-bottom:1px solid var(--cal2-line)}.cal2-month__hday{text-align:center;padding:8px 0;font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--cal2-ink-3)}.cal2-month__hday--we{color:var(--cal2-ink-4)}.cal2-month__row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--cal2-line)}.cal2-month__row:last-child{border-bottom:none}.cal2-month__day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;height:56px;padding:6px 4px 14px;background:transparent;border:none;border-right:1px solid var(--cal2-line);cursor:pointer;font-family:inherit;transition:background .12s}.cal2-month__day:last-child{border-right:none}.cal2-month__day:hover{background:var(--cal2-primary-softer)}.cal2-month__day--we{background:var(--cal2-surface-softer)}.cal2-month__day--other .cal2-month__num{color:var(--cal2-ink-4)}.cal2-month__num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;font-size:13px;font-weight:600;color:var(--cal2-ink);font-variant-numeric:tabular-nums;line-height:1;background:transparent}.cal2-month__day--today .cal2-month__num{background:var(--cal2-ink);color:#fff}.cal2-month__day--selected:not(.cal2-month__day--today) .cal2-month__num{background:var(--cal2-primary-soft);color:var(--cal2-primary);box-shadow:inset 0 0 0 1.5px var(--cal2-primary)}.cal2-month__check{position:absolute;top:5px;left:5px;width:5px;height:5px;border-radius:50%;background:var(--cal2-success)}.cal2-month__day .cal2-day__load{bottom:5px;height:2px}.cal2-month__day .cal2-day__load--1{width:8px}.cal2-month__day .cal2-day__load--2{width:14px}.cal2-month__day .cal2-day__load--3{width:20px}.cal2-month__day .cal2-day__load--4{width:26px}.cal2-month__day .cal2-day__exam{top:5px;right:5px;width:5px;height:5px;box-shadow:0 0 0 1.5px var(--cal2-surface)}.cal2-month__day--we .cal2-day__exam{box-shadow:0 0 0 1.5px var(--cal2-surface-softer)}.cal2-pending{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -20px;padding:4px 20px 12px}.cal2-pending::-webkit-scrollbar{display:none}.cal2-pending__card{flex:0 0 220px;scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--cal2-surface);border:1px solid var(--cal2-warn-line);border-radius:var(--cal2-radius);text-align:left;font-family:inherit;cursor:pointer;position:relative;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:var(--cal2-shadow-sm)}.cal2-pending__card:hover{transform:translateY(-1px);box-shadow:var(--cal2-shadow-md);border-color:var(--cal2-warn)}.cal2-pending__card:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 999px 999px 0;background:var(--cal2-warn)}.cal2-pending__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.cal2-pending__count{display:inline-flex;align-items:baseline;gap:2px;color:var(--cal2-warn);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.cal2-pending__count strong{font-size:22px;font-weight:700;line-height:1}.cal2-pending__total{font-size:13px;font-weight:500;color:var(--cal2-ink-3)}.cal2-pending__deadline{font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:999px}.cal2-pending__deadline--overdue{background:#b91c1c14;color:var(--cal2-danger)}.cal2-pending__deadline--urgent{background:var(--cal2-warn-soft);color:var(--cal2-warn)}.cal2-pending__deadline--soon{background:#2563eb14;color:#1d4ed8}.cal2-pending__name{font-size:13.5px;font-weight:600;color:var(--cal2-ink);line-height:1.3;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cal2-pending__class{font-size:11.5px;font-weight:500;color:var(--cal2-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal2-section__head--agenda{align-items:flex-end}.cal2-agendahead{display:flex;flex-direction:column;gap:2px;min-width:0}.cal2-agendahead__title{margin:0;font-size:24px;font-weight:700;letter-spacing:-.025em;color:var(--cal2-ink);line-height:1}.cal2-agendahead__sub{font-size:11.5px;font-weight:500;color:var(--cal2-ink-3);text-transform:capitalize;font-variant-numeric:tabular-nums}.cal2-add{display:inline-flex;align-items:center;gap:4px;padding:7px 12px 7px 10px;border-radius:999px;background:var(--cal2-primary);color:#fff;border:none;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:-.005em;cursor:pointer;transition:background .12s,transform .12s;flex-shrink:0}.cal2-add:hover{background:#11514b}.cal2-add:active{transform:scale(.97)}.cal2-filter{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px 14px;padding:0 16px 2px}.cal2-filter::-webkit-scrollbar{display:none}.cal2-filter__chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;background:var(--cal2-surface);border:1px solid var(--color-border);color:var(--color-muted-foreground);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;letter-spacing:-.005em;transition:background .12s,border-color .12s,color .12s}.cal2-filter__chip:disabled{opacity:.45;cursor:not-allowed}.cal2-filter__chip:not(:disabled):not(.is-active):hover{border-color:var(--cal2-ink);color:var(--cal2-ink)}.cal2-filter__chip.is-active{background:var(--cal2-ink);border-color:var(--cal2-ink);color:var(--color-background, #fff)}.cal2-filter__chip--session.is-active,.cal2-filter__chip--exam.is-active,.cal2-filter__chip--other.is-active{color:#fff}.cal2-filter__chip--session.is-active{background:var(--cal2-primary);border-color:var(--cal2-primary)}.cal2-filter__chip--exam.is-active{background:var(--cal2-warn);border-color:var(--cal2-warn)}.cal2-filter__chip--other.is-active{background:var(--cal2-other);border-color:var(--cal2-other)}.cal2-filter__n{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--color-border);font-size:10px;font-weight:700;color:var(--color-muted-foreground);font-variant-numeric:tabular-nums;letter-spacing:0}.cal2-filter__chip.is-active .cal2-filter__n{background:color-mix(in srgb,currentColor 22%,transparent);color:currentColor}.cal2-filter__chip--session.is-active .cal2-filter__n,.cal2-filter__chip--exam.is-active .cal2-filter__n,.cal2-filter__chip--other.is-active .cal2-filter__n{background:#ffffff38;color:#fff}.cal2-agenda{display:flex;flex-direction:column;gap:22px}.cal2-group{display:flex;flex-direction:column;gap:10px}.cal2-group__head{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cal2-ink-2)}.cal2-group__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;flex-shrink:0;padding:4px}.cal2-group__icon--session{background:var(--cal2-primary-soft);color:var(--cal2-primary)}.cal2-group__icon--exam{background:var(--cal2-warn-soft);color:var(--cal2-warn)}.cal2-group__icon--other{background:var(--cal2-other-soft);color:var(--cal2-other)}.cal2-group__label{letter-spacing:.06em;font-weight:700}.cal2-group__n{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 5px;border-radius:999px;background:#0f172a0f;font-size:10px;font-weight:700;color:var(--cal2-ink-2);letter-spacing:0;font-variant-numeric:tabular-nums}.cal2-tl{display:flex;flex-direction:column;gap:10px;position:relative;padding-left:4px}.cal2-event{position:relative;display:grid;grid-template-columns:56px 1fr;gap:10px;cursor:pointer}.cal2-event__rail{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding-top:12px}.cal2-event__rail:before{content:"";position:absolute;left:7px;top:28px;bottom:-16px;width:1px;background:linear-gradient(to bottom,var(--cal2-line-strong),var(--cal2-line) 80%,transparent)}.cal2-tl>.cal2-event:last-child .cal2-event__rail:before{display:none}.cal2-event__pin{position:absolute;left:0;top:14px;width:14px;height:14px;border-radius:50%;background:var(--cal2-surface);border:2.5px solid var(--cal2-primary);box-shadow:0 0 0 3px var(--cal2-surface)}.cal2-event__time{font-size:12.5px;font-weight:700;color:var(--cal2-ink);letter-spacing:-.015em;font-variant-numeric:tabular-nums;margin-left:22px;line-height:1.1}.cal2-event__time-end{font-size:10.5px;font-weight:500;color:var(--cal2-ink-3);margin-left:22px;font-variant-numeric:tabular-nums;margin-top:2px}.cal2-event__card{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 14px 12px 18px;background:var(--cal2-surface);border:1px solid var(--cal2-line);border-radius:var(--cal2-radius);transition:transform .16s,border-color .16s,box-shadow .16s;box-shadow:var(--cal2-shadow-sm);overflow:hidden}.cal2-event__accent{position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cal2-subject-color, var(--cal2-primary));pointer-events:none}.cal2-event--unplanned .cal2-event__accent{opacity:.4}.cal2-event:hover .cal2-event__card{transform:translateY(-1px);border-color:var(--cal2-primary-line);box-shadow:var(--cal2-shadow-md)}.cal2-event--unplanned .cal2-event__card{background:var(--cal2-surface-softer);border-style:dashed;border-color:var(--cal2-line-strong);box-shadow:none}.cal2-event--unplanned .cal2-event__pin{border-color:var(--cal2-ink-4);border-style:dashed}.cal2-event__top{display:flex;align-items:center;justify-content:space-between;gap:8px}.cal2-event__cls{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--cal2-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.cal2-event__ready{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:6px;background:var(--cal2-primary-soft);color:var(--cal2-primary);flex-shrink:0}.cal2-event__title{margin:2px 0 0;font-size:15px;font-weight:600;color:var(--cal2-ink);line-height:1.3;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cal2-event__title--unplanned{font-weight:500;color:var(--cal2-ink-2)}.cal2-event__focus{margin:0;font-size:12.5px;color:var(--cal2-ink-2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cal2-event__topic{display:inline-block;font-size:11px;color:var(--cal2-ink-3);margin-top:2px}.cal2-event__tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.cal2-event__tag{font-size:10.5px;padding:2px 8px;border-radius:999px;background:var(--cal2-primary-softer);color:var(--cal2-primary);font-weight:500;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.cal2-event__actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.cal2-act{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-size:11.5px;font-weight:600;letter-spacing:-.005em;color:var(--cal2-primary);background:var(--cal2-surface);border:1px solid var(--cal2-primary-line);border-radius:999px;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s}.cal2-act:hover{background:var(--cal2-primary-soft)}.cal2-act:active{transform:scale(.97)}.cal2-act--done{color:var(--cal2-success);border-color:#04785740;background:#0478570a}.cal2-act--generate{background:var(--cal2-primary-soft);border-color:var(--cal2-primary-line)}.cal2-act--generate:hover{background:var(--cal2-primary-softer);border-color:var(--cal2-primary)}.cal2-act--done:hover{background:#0478571a}.cal2-grid{display:flex;flex-direction:column;gap:8px}.cal2-exam{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 12px 12px 16px;background:var(--cal2-surface);border:1px solid var(--cal2-warn-line);border-radius:var(--cal2-radius);cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s;box-shadow:var(--cal2-shadow-sm)}.cal2-exam:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 999px 999px 0;background:var(--cal2-warn)}.cal2-exam:hover{transform:translateY(-1px);border-color:var(--cal2-warn);box-shadow:var(--cal2-shadow-md)}.cal2-exam__top{display:flex;align-items:center;justify-content:space-between;gap:6px}.cal2-exam__type{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cal2-warn)}.cal2-exam__time{font-size:11.5px;font-weight:700;color:var(--cal2-ink);font-variant-numeric:tabular-nums}.cal2-exam__status{font-size:9.5px;font-weight:700;letter-spacing:.05em;padding:2px 7px;border-radius:999px;text-transform:uppercase}.cal2-exam__status--scheduled{background:#2563eb14;color:#1d4ed8}.cal2-exam__status--pending_correction{background:var(--cal2-warn-soft);color:var(--cal2-warn)}.cal2-exam__status--corrected{background:#04785714;color:var(--cal2-success)}.cal2-exam__status--pending_validation,.cal2-exam__status--pending_schedule{background:#0f172a0f;color:var(--cal2-ink-2)}.cal2-exam__title{margin:0;font-size:13.5px;font-weight:600;color:var(--cal2-ink);line-height:1.3;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cal2-exam__class{font-size:11px;color:var(--cal2-ink-3);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal2-exam__act{margin-top:6px;align-self:flex-start;color:var(--cal2-warn);border-color:var(--cal2-warn-line)}.cal2-exam__act:hover{background:var(--cal2-warn-soft)}.cal2-other{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 12px 12px 16px;background:var(--cal2-surface);border:1px solid var(--cal2-other-line);border-radius:var(--cal2-radius);cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s;box-shadow:var(--cal2-shadow-sm)}.cal2-other:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 999px 999px 0;background:var(--cal2-other)}.cal2-other:hover{transform:translateY(-1px);border-color:var(--cal2-other);box-shadow:var(--cal2-shadow-md)}.cal2-other__top{display:flex;align-items:center;justify-content:space-between;gap:6px}.cal2-other__type{font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cal2-other)}.cal2-other__time{font-size:11.5px;font-weight:700;color:var(--cal2-ink);font-variant-numeric:tabular-nums}.cal2-other__title{margin:0;font-size:13.5px;font-weight:600;color:var(--cal2-ink);line-height:1.3;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cal2-other__sub{font-size:11px;color:var(--cal2-ink-3);font-weight:500}.cal2-loading{display:flex;justify-content:center;padding:36px}.cal2-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;background:var(--cal2-surface);border:1px dashed var(--cal2-line-strong);border-radius:var(--cal2-radius)}.cal2-empty__icon{color:var(--cal2-ink-4);margin-bottom:4px}.cal2-empty__text{font-size:13px;color:var(--cal2-ink-3);font-weight:500}.cal2-empty__btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:999px;background:var(--cal2-primary);color:#fff;border:none;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;margin-top:4px}.cal2-empty__btn:hover{background:#11514b}@media (min-width: 768px){.cal2-hero__greet{font-size:26px}.cal2-section{padding:18px 22px 8px}.cal2-pending{margin:0 -22px;padding:4px 22px 12px}.cal2-filter{margin:0 -22px 14px;padding:0 22px}.cal2-week__day{min-height:88px}.cal2-week__num{font-size:24px}.cal2-month__day{height:80px}.cal2-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.cal2-pending__card{flex:0 0 240px}.cal2-agendahead__title{font-size:28px}}.cal2--primary .cal2-hero__greet{font-size:32px;letter-spacing:-.03em}.cal2--primary .cal2-section--agenda{padding-top:20px}.cal2--primary .cal2-agendahead__title{font-size:32px}.cal2--primary .cal2-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.cal2--primary .cal2-section,.cal2--primary .cal2-hero{max-width:920px}.cal2--primary .cal2-section--upcoming{margin-top:14px;padding:18px 22px}.cal2-upcoming{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.cal2-upcoming__card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;text-align:left;background:var(--cal2-surface-soft);border:1px solid var(--cal2-line);border-radius:12px;cursor:pointer;transition:background .12s,border-color .12s,transform .12s;font-family:inherit;min-width:0}.cal2-upcoming__card:hover{background:var(--cal2-surface);border-color:var(--cal2-line-strong)}.cal2-upcoming__card:active{transform:scale(.99)}.cal2-upcoming__card--empty{opacity:.6}.cal2-upcoming__day{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cal2-ink-2)}.cal2-upcoming__date{font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--cal2-ink);font-variant-numeric:tabular-nums;text-transform:capitalize}.cal2-upcoming__count{display:inline-flex;align-items:baseline;gap:5px;font-size:13px;color:var(--cal2-ink-2);font-weight:500}.cal2-upcoming__count strong{font-size:14px;font-weight:700;color:var(--cal2-primary)}.cal2-upcoming__none{font-size:12px;font-style:italic;color:var(--cal2-ink-3);font-weight:500}.cal2-upcoming__exam{width:6px;height:6px;border-radius:50%;background:var(--cal2-warn);margin-left:4px}.cal2--rail{padding:0;gap:12px}.cal2--rail .cal2-section{padding:14px 16px;border-radius:16px}.cal2--rail .cal2-section__head{margin-bottom:10px}.cal2--rail .cal2-rail__top{display:flex;flex-direction:column;gap:10px;margin-bottom:2px}.cal2--rail .cal2-hero__stats{margin:0}.cal2--rail .cal2-month__day{height:56px}.cal2--rail .cal2-week__day{min-height:68px}.cal2--rail .cal2-week__num{font-size:18px}.cal2--rail .cal2-pending{flex-direction:column;margin:0;padding:0;gap:8px;overflow:visible}.cal2--rail .cal2-pending__card{flex:0 0 auto;width:100%}@media (min-width: 1100px){.cal2-section{padding:20px 28px 8px}.cal2-month__day{height:96px}.cal2--primary .cal2-section{padding:22px 32px 12px}.cal2--rail .cal2-section{padding:14px 16px}}@media (prefers-reduced-motion: reduce){.cal2-prep,.cal2-pending__card,.cal2-event__card,.cal2-exam,.cal2-other,.cal2-week__day,.cal2-add,.cal2-act{transition:none!important}.cal2-prep:active,.cal2-add:active,.cal2-act:active,.cal2-event:hover .cal2-event__card,.cal2-exam:hover,.cal2-other:hover,.cal2-pending__card:hover{transform:none}}.cal2-week__day:focus-visible,.cal2-month__day:focus-visible,.cal2-pending__card:focus-visible,.cal2-filter__chip:focus-visible,.cal2-event:focus-visible,.cal2-exam:focus-visible,.cal2-other:focus-visible{outline:2px solid var(--cal2-primary);outline-offset:2px}.cal2-event[draggable=true],.cal2-exam[draggable=true],.cal2-other[draggable=true]{cursor:grab}.cal2-event[draggable=true]:active,.cal2-exam[draggable=true]:active,.cal2-other[draggable=true]:active{cursor:grabbing}.cal2-event.is-dragging,.cal2-exam.is-dragging,.cal2-other.is-dragging{opacity:.45;transform:scale(.98);transition:opacity .1s,transform .1s}.cal2-week__day--drop,.cal2-month__day--drop{background:#6366f11a;outline:2px dashed var(--cal2-primary, #6366f1);outline-offset:-3px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl) var(--space-2xl) calc(var(--space-4xl) + 16px);text-align:center;gap:var(--space-sm);min-height:240px}.empty-state-icon{font-size:3.5rem;line-height:1;margin-bottom:var(--space-sm);opacity:.85}.empty-state-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-foreground);margin:0;line-height:1.3;letter-spacing:-.01em}.empty-state-subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0;line-height:1.5;max-width:260px}.empty-state-action{margin-top:var(--space-lg)}.onboarding-checklist{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:var(--space-md)}.onboarding-checklist__progress-bar{height:4px;background:#0f172a0f}.onboarding-checklist__progress-fill{height:100%;background:var(--color-primary);border-radius:0 2px 2px 0;transition:width .4s ease}.onboarding-checklist__header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-md) var(--space-md) 0}.onboarding-checklist__title{font-size:var(--font-size-base);font-weight:700;color:var(--color-foreground);margin:0;line-height:1.3}.onboarding-checklist__count{font-size:var(--font-size-xs);color:var(--color-text-tertiary, #94A3B8);font-weight:500}.onboarding-checklist__dismiss{background:none;border:none;width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#94a3b8;margin-top:-4px;margin-right:-8px;flex-shrink:0}.onboarding-checklist__dismiss:active{background:#0000000d}.onboarding-checklist__dismiss svg{font-size:22px}.onboarding-checklist__steps{list-style:none;margin:0;padding:var(--space-sm) var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.onboarding-checklist__step{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0}.onboarding-checklist__step-icon{font-size:20px;flex-shrink:0;color:#cbd5e1;transition:color .2s ease}.onboarding-checklist__step--done .onboarding-checklist__step-icon{color:#059669}.onboarding-checklist__step-label{font-size:var(--font-size-sm);color:var(--color-foreground);font-weight:500;transition:opacity .2s ease}.onboarding-checklist__step--done .onboarding-checklist__step-label{opacity:.55;text-decoration:line-through}.onboarding-checklist__done{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md)}.onboarding-checklist__done svg{font-size:28px;color:#059669;flex-shrink:0}.onboarding-checklist__done p{font-size:var(--font-size-sm);color:var(--color-foreground);margin:0;line-height:1.4;font-weight:500}.stagger-item{opacity:0;transform:translateY(8px);animation:staggerFadeIn .3s ease forwards}@keyframes staggerFadeIn{to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme: dark){.onboarding-checklist{background:var(--color-surface);box-shadow:0 2px 12px #0000004d,0 0 0 1px #ffffff0f}.onboarding-checklist__progress-bar{background:#ffffff0f}.onboarding-checklist__step-icon{color:#475569}.onboarding-checklist__dismiss:active{background:#ffffff1a}}.onboarding-checklist__step:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.skel-class-card,.skel-exam-card,.skel-student-row,.skel-subject-card{display:flex;align-items:center;gap:var(--space-md, 12px);padding:var(--space-lg, 16px);background:var(--color-surface);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-lg, 12px)}.skel-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;flex-shrink:0}.skel-avatar--sm{width:36px;height:36px}.skel-class-info,.skel-student-info,.skel-subject-info{flex:1}.skel-subject-avg{width:48px;height:48px;border-radius:var(--radius-md, 8px);overflow:hidden;flex-shrink:0}.skel-subject-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;background:var(--color-border-light, #f1f5f9);line-height:1;margin-right:4px}.skel-exam-card{flex-direction:column;align-items:flex-start}.skel-grade-table{padding:var(--space-lg, 16px)}.skel-grade-header{margin-bottom:var(--space-md, 12px);border-radius:var(--radius-sm, 6px);overflow:hidden}.skel-grade-row{display:flex;gap:var(--space-md, 12px);padding:var(--space-md, 12px) 0;border-bottom:1px solid var(--color-border-light, #f1f5f9)}.skel-dashboard{padding:var(--space-lg, 16px)}.skel-dash-hero{padding:var(--space-xl, 20px) 0}.skel-dash-section{margin-top:var(--space-xl, 20px)}.skel-dash-cards{display:flex;flex-direction:column;gap:var(--space-sm, 8px);margin-top:var(--space-md, 12px)}.skel-dash-card{padding:var(--space-lg, 16px);background:var(--color-surface);border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-lg, 12px)}:root{--cls-ink: var(--color-foreground, #0F172A);--cls-ink-2: #475569;--cls-ink-3: #94A3B8;--cls-ink-4: #CBD5E1;--cls-surface: var(--color-card, #FFFFFF);--cls-bg: var(--color-background, #F8FAFC);--cls-line: rgba(15, 23, 42, .06);--cls-line-strong: rgba(15, 23, 42, .1);--cls-primary: var(--color-primary, #15665E);--cls-primary-soft: rgba(21, 102, 94, .08);--cls-primary-line: rgba(21, 102, 94, .18);--cls-radius: 18px;--cls-radius-sm: 12px;--cls-radius-xs: 8px;--cls-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--cls-shadow-md: 0 1px 3px rgba(15, 23, 42, .05), 0 4px 12px rgba(15, 23, 42, .04);--cls-shadow-hover: 0 1px 3px rgba(15, 23, 42, .06), 0 8px 20px rgba(15, 23, 42, .06)}@media (prefers-color-scheme: dark){:root{--cls-ink: #F8FAFC;--cls-ink-2: rgba(255, 255, 255, .7);--cls-ink-3: rgba(255, 255, 255, .45);--cls-ink-4: rgba(255, 255, 255, .25);--cls-line: rgba(255, 255, 255, .06);--cls-line-strong: rgba(255, 255, 255, .1);--cls-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--cls-shadow-md: 0 1px 3px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .25);--cls-shadow-hover: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 20px rgba(0, 0, 0, .3)}}.classes-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-4xl)}.classes-controls{background:var(--cls-surface);border:1px solid var(--cls-line);border-radius:var(--cls-radius);box-shadow:var(--cls-shadow-sm);padding:14px 14px 12px;display:flex;flex-direction:column;gap:12px}.classes-search{--background: transparent;--border-radius: var(--cls-radius-sm);--box-shadow: none;padding:0;margin:0;background:#0f172a09;border:1px solid transparent;border-radius:var(--cls-radius-sm);transition:background .16s,border-color .16s}.classes-search:focus-within{background:var(--cls-surface);border-color:var(--cls-primary-line)}.classes-sort{display:flex;align-items:center;gap:8px;padding:0 2px}.classes-sort__icon{font-size:16px;color:var(--cls-ink-3)}.classes-sort__chips{display:flex;gap:6px;flex:1;overflow-x:auto;scrollbar-width:none}.classes-sort__chips::-webkit-scrollbar{display:none}.classes-sort__chip{background:transparent;border:1px solid var(--cls-line-strong);border-radius:999px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;letter-spacing:-.005em;color:var(--cls-ink-2);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.classes-sort__chip:not(.classes-sort__chip--active):hover{border-color:var(--cls-line-strong);color:var(--cls-ink);background:#0f172a08}.classes-sort__chip:active{transform:scale(.97)}.classes-sort__chip--active{background:var(--cls-ink);border-color:var(--cls-ink);color:#fff}.classes-pending-banner{display:flex;align-items:center;gap:var(--space-md);padding:14px 16px;background:#d9770614;border:1px solid rgba(217,119,6,.18);border-radius:var(--cls-radius)}.classes-pending-banner__icon{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-warning);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.classes-pending-banner__content{display:flex;flex-direction:column;gap:2px}.classes-pending-banner__title{font-size:var(--font-size-sm);font-weight:600;color:var(--cls-ink)}.classes-pending-banner__subtitle{font-size:var(--font-size-xs);color:var(--cls-ink-3)}.classes-grid{display:flex;flex-direction:column;gap:12px;margin-top:14px}.class-card-wrapper{position:relative;background:var(--cls-surface);border:1px solid var(--cls-line);border-radius:var(--cls-radius);box-shadow:var(--cls-shadow-sm);overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s}.class-card-wrapper:hover{box-shadow:var(--cls-shadow-md);border-color:var(--cls-line-strong)}.class-card-wrapper--selected{border-color:var(--cls-primary);background:var(--cls-primary-soft);box-shadow:0 0 0 3px #15665e1a}.class-card{position:relative;display:flex;align-items:center;gap:12px;padding:16px 14px 16px 22px;background:transparent;border:none;border-radius:0;min-height:64px}.class-card__color-bar{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0;flex-shrink:0}.class-card__info{flex:1;display:flex;flex-direction:column;min-width:0;gap:3px}.class-card__name{font-size:17px;font-weight:700;color:var(--cls-ink);letter-spacing:-.018em;line-height:1.15}.class-card__students-text{font-size:12px;color:var(--cls-ink-3);font-weight:500;letter-spacing:-.005em;font-variant-numeric:tabular-nums}.class-card__settings-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:10px;background:transparent;border:none;color:var(--cls-ink-3);cursor:pointer;transition:background .14s,color .14s}.class-card__settings-btn:hover{background:#0f172a0d;color:var(--cls-ink)}.class-card__settings-btn:active{background:#0f172a14}.class-card__subjects-detail{display:flex;flex-direction:column;background:#0f172a05;border-top:1px solid var(--cls-line)}.class-card__subjects-detail--loading{padding:10px 22px 12px}.class-card__subj-row{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 22px;cursor:pointer;transition:background .14s;border-bottom:1px solid var(--cls-line)}.class-card__subj-row:last-child{border-bottom:none}.class-card__subj-row:hover{background:#15665e09}.class-card__subj-row:active{background:#15665e0f}.class-card__subj-row--cta{gap:8px;padding:12px 14px 12px 22px}.class-card__subj-cta-text{font-size:13px;font-weight:600;color:var(--cls-primary);letter-spacing:-.005em}.class-card__subj-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0;box-shadow:0 1px 2px #0f172a14}.class-card__subj-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.class-card__subj-name{font-size:14px;font-weight:600;color:var(--cls-ink);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-card__subj-meta{font-size:11.5px;color:var(--cls-ink-3);font-weight:500;letter-spacing:-.003em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.class-card__subj-aula{display:inline-flex;align-items:center;padding:1px 7px;background:#0f172a0d;border-radius:5px;font-size:10.5px;font-weight:700;letter-spacing:.01em;color:var(--cls-ink-2)}.class-card__subj-sep{color:var(--cls-ink-4);font-weight:400}.class-card__subj-arrow{color:var(--cls-ink-4);flex-shrink:0;opacity:.7;transition:transform .14s,color .14s,opacity .14s}.class-card__subj-row:hover .class-card__subj-arrow{color:var(--cls-primary);opacity:1;transform:translate(2px)}@keyframes cls-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.classes-grid>.class-card-wrapper{animation:cls-fade-up .32s cubic-bezier(.2,.8,.2,1) backwards}.classes-grid>.class-card-wrapper:nth-child(1){animation-delay:30ms}.classes-grid>.class-card-wrapper:nth-child(2){animation-delay:70ms}.classes-grid>.class-card-wrapper:nth-child(3){animation-delay:.11s}.classes-grid>.class-card-wrapper:nth-child(4){animation-delay:.15s}.classes-grid>.class-card-wrapper:nth-child(5){animation-delay:.19s}.classes-grid>.class-card-wrapper:nth-child(n+6){animation-delay:.22s}.modal-hint{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;margin:var(--space-lg) 0 0;padding:0 var(--space-lg)}.modal-sheet--scrollable{overflow-y:auto;padding-bottom:var(--space-3xl)}.newclass{display:flex;flex-direction:column;gap:18px;padding:0 var(--space-lg) var(--space-lg)}@media (min-width: 768px){.newclass{padding:0}}.newclass__hero{display:flex;flex-direction:column;gap:6px}.newclass__name-input{width:100%;border:none;background:transparent;font-family:inherit;font-size:30px;font-weight:700;letter-spacing:-.025em;color:var(--cls-ink, #0F172A);padding:4px 0;outline:none;border-bottom:1.5px solid var(--cls-line-strong, rgba(15, 23, 42, .1));transition:border-color .16s}.newclass__name-input:focus{border-bottom-color:var(--cls-primary, #15665E)}.newclass__name-input::placeholder{color:var(--cls-ink-4, #CBD5E1);font-weight:600}.newclass__hero-hint{font-size:12.5px;color:var(--cls-ink-3, #94A3B8);letter-spacing:-.005em;line-height:1.45}.newclass__warning{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#ea580c0f;border:1px solid rgba(234,88,12,.2);border-radius:var(--cls-radius-sm, 12px);font-size:13px;color:#9a3412;line-height:1.45}.newclass__warning svg{color:#ea580c;margin-top:1px}.newclass__warning-link{background:none;border:none;padding:0;font:inherit;font-weight:700;color:#ea580c;cursor:pointer}.newclass__warning-link:hover{text-decoration:underline}.newclass__field{display:flex;flex-direction:column;gap:8px}.newclass__field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cls-ink-3, #94A3B8)}.newclass__date-pair{display:flex;align-items:center;gap:8px;padding:4px 6px;background:#0f172a08;border:1px solid var(--cls-line, rgba(15, 23, 42, .06));border-radius:var(--cls-radius-sm, 12px);transition:border-color .16s,background .16s}.newclass__date-pair:focus-within{background:var(--cls-surface, #fff);border-color:var(--cls-primary-line, rgba(21, 102, 94, .18))}.newclass__date-input{flex:1;min-width:0;border:none;background:transparent;font-family:inherit;font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.005em;color:var(--cls-ink, #0F172A);padding:8px 6px;outline:none;text-align:center}.newclass__date-sep{color:var(--cls-ink-4, #CBD5E1);font-size:13px;flex-shrink:0}.newclass__cta{height:46px;border-radius:var(--cls-radius-sm, 12px);font-weight:600;letter-spacing:-.005em}.newclass__footnote{font-size:11.5px;color:var(--cls-ink-3, #94A3B8);text-align:center;letter-spacing:-.003em;margin:0}.edu-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:11px 6px;background:var(--cls-surface, #fff);border:1px solid var(--cls-line-strong, rgba(15, 23, 42, .1));border-radius:10px;font-family:inherit;cursor:pointer;transition:background .14s,border-color .14s,transform .14s,color .14s}.edu-chip__label{font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--cls-ink, #0F172A);white-space:nowrap}.edu-chip__ages{font-size:10.5px;font-weight:500;letter-spacing:-.003em;color:var(--cls-ink-3, #94A3B8);font-variant-numeric:tabular-nums}.edu-chip--active{background:var(--cls-primary, #15665E);border-color:var(--cls-primary, #15665E);box-shadow:0 1px 2px #15665e1f,0 4px 10px #15665e1a}.sched-inline-toggle{--background: rgba(21, 102, 94, .04);--border-radius: var(--radius-md);--padding-start: var(--space-lg);--padding-end: var(--space-lg);--min-height: 56px;margin-top:var(--space-lg);border-radius:var(--radius-md)}.sched-inline-toggle h3{font-size:var(--font-size-sm)!important;font-weight:600!important;margin:0!important}.sched-inline-toggle p{font-size:var(--font-size-xs)!important;color:#94a3b8!important;margin:2px 0 0!important}.sched-inline{margin-top:var(--space-md);padding:var(--space-md);background:#15665e08;border-radius:var(--radius-md);border:1px solid rgba(21,102,94,.08)}.sched-inline__days{display:flex;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-md)}.sched-inline__time{display:flex;gap:var(--space-md)}.sched-inline__time-field{flex:1;--background: rgba(15, 23, 42, .03);--border-radius: var(--radius-md);--padding-start: var(--space-md);--padding-end: var(--space-md);--min-height: 48px;border-radius:var(--radius-md);overflow:hidden}.class-card--selectable{padding-left:var(--space-sm)}.class-card--selectable .class-card__color-bar{display:none}.class-card-wrapper--selected{border-color:var(--color-primary);background:#15665e14}.class-card__checkbox{display:flex;align-items:center;justify-content:center;margin-right:var(--space-xs)}.delete-preview-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xl);color:var(--color-text-secondary)}.delete-preview{margin:var(--space-lg) 0;padding:var(--space-lg);background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md)}.delete-preview__warning{font-size:var(--font-size-sm);font-weight:600;color:#dc2626;margin:0 0 var(--space-sm)}.delete-preview__list{margin:0;padding-left:var(--space-xl);color:var(--color-foreground);font-size:var(--font-size-sm)}.delete-preview__list li{margin-bottom:var(--space-xs)}.delete-preview__note{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:var(--space-md) 0 0;font-style:italic}@media (prefers-color-scheme: dark){.classes-search{--background: var(--color-surface);border:1px solid rgba(255,255,255,.08)}.classes-sort__chip{background:#ffffff0a;border-color:#ffffff14}.classes-pending-banner{background:#d977061f;border-color:#d9770633}.class-card{background:var(--color-surface);border:1px solid rgba(255,255,255,.06)}.class-card__settings-btn{color:#fff6}.class-card__settings-btn:hover{background:#ffffff14;color:#fffc}.class-card__subj-row{border-color:#ffffff0f}.class-card__subj-row:active{background:#ffffff0a}.class-card__subj-aula{color:#fff9}.class-card__subj-cta-text{color:#5eead4}.modal-sheet{background:var(--color-surface)}.sched-inline-toggle{--background: rgba(21, 102, 94, .08)}.sched-inline{background:#15665e0f;border-color:#15665e1f}.sched-inline__time-field,.curso-dates__field{--background: rgba(255, 255, 255, .04)}.class-card-wrapper--selected{border-color:var(--color-primary);background:#15665e26}.delete-preview{background:#ef44441f;border-color:#ef44444d}.newclass__name-input{border-bottom-color:#ffffff1a;color:#f8fafc}.newclass__name-input::placeholder{color:#ffffff40}.newclass__date-pair{background:#ffffff0a;border-color:#ffffff14}.newclass__date-input{color:#f8fafc;color-scheme:dark}.newclass__warning{background:#ea580c1a;border-color:#ea580c47;color:#fed7aa}.newclass__warning svg,.newclass__warning-link{color:#fb923c}.edu-chip{background:#ffffff0a;border-color:#ffffff14}.edu-chip:hover{background:#ffffff12}.edu-chip__label{color:#f8fafc}.edu-chip--active{background:#2c9e92d9;border-color:#2c9e92d9}.edu-chip--active .edu-chip__label{color:#fff}.edu-chip--active .edu-chip__ages{color:#ffffffa6}}.duplicate-class-warning{display:flex;align-items:flex-start;gap:var(--space-xs);margin:var(--space-xs) var(--space-md) 0;padding:var(--space-sm) var(--space-md);background:#ea580c14;border:1px solid rgba(234,88,12,.25);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:#9a3412;line-height:1.4}.duplicate-class-warning__icon{flex-shrink:0;font-size:16px;color:#ea580c;margin-top:1px}.duplicate-class-warning__link{background:none;border:none;padding:0;font:inherit;font-weight:600;color:#ea580c;text-decoration:underline;cursor:pointer}@media (min-width: 992px){.classes-controls,.classes-pending-banner{max-width:1280px;margin-left:auto;margin-right:auto}.classes-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:1280px;margin-left:auto;margin-right:auto}}@media (min-width: 1280px){.classes-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1600px){.classes-grid{grid-template-columns:repeat(4,1fr)}}.class-card:focus-visible{outline:2px solid var(--cls-primary);outline-offset:2px}.settings-loading{display:flex;justify-content:center;padding:var(--space-4xl)}.settings-section{margin-bottom:22px;padding:0 var(--space-lg)}.settings-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.settings-section__title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin:0 0 10px}.settings-section__count{font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--color-primary);background:#15665e1a;padding:2px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.settings-section__actions{display:flex;align-items:center;gap:4px}.settings-info-card{background:var(--color-card);border-radius:16px;border:1px solid rgba(15,23,42,.06);box-shadow:0 1px 2px #0f172a0a;padding:14px;display:flex;flex-direction:column;gap:12px}.settings-info-block{display:flex;flex-direction:column;gap:8px}.settings-info-block+.settings-info-block{padding-top:12px;border-top:1px solid rgba(15,23,42,.06)}.settings-info-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.settings-info-value-btn{display:flex;align-items:center;gap:8px;width:100%;padding:4px 0;background:transparent;border:none;border-radius:6px;font-family:inherit;text-align:left;cursor:pointer;transition:background .14s}.settings-info-value-btn:hover{background:#0f172a06}.settings-info-value-text{flex:1;font-size:18px;font-weight:700;letter-spacing:-.018em;color:var(--color-foreground)}.settings-info-edit-icon{color:#94a3b8;opacity:.55;transition:opacity .14s,color .14s}.settings-info-value-btn:hover .settings-info-edit-icon{opacity:1;color:var(--color-primary)}.settings-info-inline-input{width:100%;font-size:18px;font-weight:700;letter-spacing:-.018em;color:var(--color-foreground);background:#15665e0a;border:1.5px solid var(--color-primary);border-radius:8px;padding:4px 10px;outline:none;font-family:inherit}.settings-date-pair{display:flex;align-items:center;gap:8px;background:#0f172a08;border:1px solid rgba(15,23,42,.06);border-radius:10px;padding:2px 4px;transition:border-color .16s,background .16s}.settings-date-pair:focus-within{background:var(--color-card);border-color:#15665e2e}.settings-date-input{flex:1;min-width:0;border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.005em;color:var(--color-foreground);padding:8px 6px;outline:none;text-align:center}.settings-date-sep{color:#cbd5e1;flex-shrink:0}.edu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.edu-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:11px 6px;background:var(--color-card);border:1px solid rgba(15,23,42,.1);border-radius:10px;font-family:inherit;cursor:pointer;transition:background .14s,border-color .14s,transform .14s,color .14s}.edu-chip:hover{background:#0f172a06;border-color:#0f172a24}.edu-chip:active{transform:scale(.97)}.edu-chip__label{font-size:12.5px;font-weight:600;letter-spacing:-.01em;color:var(--color-foreground);white-space:nowrap}.edu-chip__ages{font-size:10.5px;font-weight:500;letter-spacing:-.003em;color:#94a3b8;font-variant-numeric:tabular-nums}.edu-chip--active{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 1px 2px #15665e1f,0 4px 10px #15665e1a}.edu-chip--active .edu-chip__label{color:#fff}.edu-chip--active .edu-chip__ages{color:#ffffffa6}.settings-lectures{display:flex;flex-direction:column;gap:8px}.lecture-card{position:relative;display:flex;align-items:center;gap:12px;background:var(--color-card);border-radius:12px;border:1px solid rgba(15,23,42,.06);box-shadow:0 1px 2px #0f172a08;padding:12px 12px 12px 18px;cursor:pointer;overflow:hidden;transition:border-color .16s,box-shadow .16s,background .16s}.lecture-card:hover{border-color:#0f172a1a;box-shadow:0 1px 3px #0f172a0d,0 4px 10px #0f172a0a}.lecture-card__rail{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--lecture-color, var(--color-primary))}.lecture-card--selectable{padding-left:14px}.lecture-card--selectable .lecture-card__rail{display:none}.lecture-card--selected{background:#15665e0f;border-color:var(--color-primary)}.lecture-card__checkbox{display:flex;align-items:center;justify-content:center;flex-shrink:0}.lecture-card__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.lecture-card__name{font-size:14.5px;font-weight:700;letter-spacing:-.012em;color:var(--color-foreground);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lecture-card__aula{display:inline-flex;align-items:center;padding:1px 7px;background:#0f172a0d;border-radius:5px;font-size:10.5px;font-weight:700;letter-spacing:.01em;color:#475569}.lecture-card__schedule{font-size:12px;color:#94a3b8;display:flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums;letter-spacing:-.003em}.lecture-card__delete-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:8px;background:transparent;border:none;color:#94a3b8;cursor:pointer;transition:background .14s,color .14s}.lecture-card__delete-btn:hover{background:#ef44441a;color:#dc2626}.settings-students-loading{display:flex;justify-content:center;padding:var(--space-xl)}.settings-students-list{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.settings-student-row{display:flex;align-items:center;justify-content:space-between;background:var(--color-card);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);border:1px solid rgba(15,23,42,.06)}.settings-student-info{display:flex;flex-direction:column;gap:2px}.settings-student-name{font-size:var(--font-size-base);font-weight:600;color:var(--color-foreground)}.settings-student-code{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-family:monospace}.settings-students-empty{color:#94a3b8;font-size:var(--font-size-sm);margin:0 0 var(--space-md)}.settings-add-students-block{margin-top:var(--space-sm)}.settings-add-students-toggle{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-lg);background:#15665e0f;border:1px solid rgba(21,102,94,.15);border-radius:var(--radius-md);color:var(--color-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.settings-add-students-toggle:hover{background:#15665e1a}.settings-add-students-toggle svg:first-of-type{font-size:18px}.settings-add-students-toggle svg:last-of-type{margin-left:auto;font-size:18px}.settings-add-students-form{margin-top:var(--space-md);padding:var(--space-lg);background:#0f172a05;border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.06)}.settings-add-students-progress{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.settings-add-students-progress span{font-size:var(--font-size-sm);color:var(--color-primary)}.settings-add-new,.settings-add-existing{display:flex;flex-direction:column;gap:var(--space-md)}.settings-add-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.settings-csv-divider{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.settings-csv-divider:before,.settings-csv-divider:after{content:"";flex:1;height:1px;background:#e0e0e0}.settings-csv-hint{font-size:var(--font-size-xs, .75rem);color:var(--color-text-secondary);margin:var(--space-xs) 0 0;text-align:center}.settings-add-input-list{background:transparent;padding-left:0}.settings-add-input-list div{background:var(--color-card);border-radius:var(--radius-md);margin-bottom:var(--space-xs);border:1px solid rgba(15,23,42,.06)}.settings-add-empty{text-align:center;padding:var(--space-xl);color:#94a3b8}.settings-add-empty svg{font-size:48px;margin-bottom:var(--space-sm);display:block}.settings-add-search{background:var(--color-card);padding:0}.settings-add-class-filter{max-width:100%}.settings-add-loading{display:flex;justify-content:center;padding:var(--space-lg)}.settings-add-select-all{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-foreground)}.settings-add-existing-list div{padding-left:var(--space-md)}.settings-empty{text-align:center;padding:var(--space-2xl);background:#0f172a05;border-radius:var(--radius-lg);border:1px dashed rgba(15,23,42,.1)}.settings-empty p{color:#94a3b8;margin:0 0 var(--space-md);font-size:var(--font-size-sm)}.lecture-modal{display:flex;flex-direction:column;gap:16px;padding:0 var(--space-lg) var(--space-lg)}@media (min-width: 768px){.lecture-modal{padding:0}}.lecture-modal__field{display:flex;flex-direction:column;gap:8px;min-width:0}.lecture-modal__row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.lecture-modal__label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.lecture-modal__label-row{display:flex;align-items:center;justify-content:space-between}.lecture-modal__add-slot{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#15665e14;border:none;border-radius:999px;font-family:inherit;font-size:11.5px;font-weight:600;letter-spacing:-.005em;color:var(--color-primary);cursor:pointer;transition:background .14s}.lecture-modal__add-slot:hover{background:#15665e24}.lecture-modal__suggestions{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.lecture-modal__suggestion{padding:4px 11px;background:transparent;border:1px solid rgba(15,23,42,.1);border-radius:999px;font-size:11.5px;font-weight:500;font-family:inherit;color:#475569;cursor:pointer;transition:background .14s,border-color .14s,color .14s}.lecture-modal__suggestion:hover{background:#0f172a08;color:var(--color-foreground)}.lecture-modal__suggestion--active{background:#15665e1a;border-color:#15665e40;color:var(--color-primary);font-weight:600}.lecture-modal__colors{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0}.lecture-modal__color{width:26px;height:26px;border-radius:50%;border:2.5px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0;padding:0;outline:none;box-shadow:0 1px 2px #0f172a1a}.lecture-modal__color:hover{transform:scale(1.1)}.lecture-modal__color:active{transform:scale(.92)}.lecture-modal__color--active{border-color:#0f172a;transform:scale(1.12);box-shadow:0 2px 6px #0f172a2e}.lecture-modal__schedule-empty{text-align:center;color:#94a3b8;font-size:12.5px;padding:14px;background:#0f172a05;border:1px dashed rgba(15,23,42,.1);border-radius:10px;margin:0}.lecture-modal__slots{display:flex;flex-direction:column;gap:6px}.lecture-modal__slot{display:flex;align-items:center;gap:6px;background:#0f172a08;border:1px solid transparent;border-radius:10px;padding:4px 4px 4px 6px}.lecture-modal__slot-day{flex:1.2;min-width:0}.lecture-modal__slot-time{flex:1;min-width:0}.lecture-modal__slot-sep{color:#cbd5e1;font-size:12px;flex-shrink:0}.lecture-modal__slot-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:transparent;border:none;color:#94a3b8;cursor:pointer;flex-shrink:0;transition:background .14s,color .14s}.lecture-modal__slot-remove:hover{background:#ef44441a;color:#dc2626}.lecture-modal__slot--conflict{background:#ef44440f;border-color:#ef44444d}.lecture-modal__conflict-msg{margin:4px 0 0 6px;font-size:11.5px;color:#dc2626;font-weight:500}.lecture-modal__conflict-warning{margin:4px 0 0;padding:8px 12px;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#dc2626;font-size:12.5px;font-weight:600;text-align:center}.lecture-modal__cta{height:46px;border-radius:12px;font-weight:600;letter-spacing:-.005em}.subject-name-suggestions{padding:0}.subject-name-suggestions__list{display:flex;flex-wrap:wrap;gap:5px}.modal-sheet{padding:var(--space-2xl) var(--space-lg)}.modal-sheet--scrollable{overflow-y:auto;max-height:100%}@media (min-width: 768px){.modal-sheet--scrollable{max-height:85vh}}.modal-sheet__title{font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--space-lg);padding:0 var(--space-lg)}.subject-name-suggestions{padding:var(--space-sm) var(--space-lg)}.subject-name-suggestions__label{font-size:var(--font-size-xs);color:#94a3b8;margin-bottom:var(--space-xs);display:block}.subject-name-suggestions__list{display:flex;flex-wrap:wrap;gap:6px}.subject-name-suggestion{padding:4px 12px;background:#0f172a0d;border:1px solid rgba(15,23,42,.1);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-foreground);cursor:pointer;transition:all var(--transition-fast)}.subject-name-suggestion:active{transform:scale(.95)}.subject-name-suggestion--active{background:#15665e1a;border-color:#15665e4d;color:var(--color-primary);font-weight:600}.settings-actions{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);margin-top:var(--space-md);padding-bottom:calc(var(--space-xl) + env(safe-area-inset-bottom,0px))}.settings-actions__save{border-radius:12px;font-weight:600}.settings-actions__delete{border-radius:12px}.del-modal{display:flex;flex-direction:column;gap:14px;padding:0 var(--space-lg) var(--space-lg)}@media (min-width: 768px){.del-modal{padding:0}}.del-modal__lead{font-size:14px;color:#475569;line-height:1.5;margin:0}.del-modal__lead strong{color:var(--color-foreground);font-weight:700}.del-modal__loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px 0;color:#94a3b8;font-size:13px}.del-modal__preview{background:#dc26260a;border:1px solid rgba(220,38,38,.18);border-radius:12px;padding:12px 14px}.del-modal__warning{font-size:12.5px;font-weight:700;color:#dc2626;margin:0 0 8px;display:flex;align-items:center;gap:6px;letter-spacing:-.005em}.del-modal__list{list-style:none;padding:0;margin:0;color:#1e293b;font-size:13px;display:flex;flex-direction:column;gap:3px;font-variant-numeric:tabular-nums}.del-modal__list li{padding-left:14px;position:relative}.del-modal__list li:before{content:"";position:absolute;left:4px;top:8px;width:4px;height:4px;border-radius:50%;background:#dc2626a6}.del-modal__note{margin:8px 0 0;font-size:11.5px;color:#94a3b8;font-style:italic}.del-modal__actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}@media (prefers-color-scheme: dark){.del-modal__lead{color:#ffffffb3}.del-modal__lead strong{color:#f8fafc}.del-modal__preview{background:#dc26261a;border-color:#dc262640}.del-modal__list{color:#ffffffd9}}.delete-preview-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg) 0;color:var(--color-muted-foreground)}.delete-preview{background:#eb445a0f;border-radius:12px;padding:var(--space-md);margin-top:var(--space-md)}.delete-preview__warning{font-weight:600;color:var(--color-danger);margin:0 0 var(--space-sm);display:flex;align-items:center;gap:6px}.delete-preview__list{list-style:disc;padding-left:var(--space-lg);margin:0;color:var(--color-foreground)}.delete-preview__list li{padding:2px 0}.delete-preview__note{margin:var(--space-sm) 0 0;font-size:.85rem;color:var(--color-muted-foreground)}.delete-modal-buttons{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-lg)}@media (prefers-color-scheme: dark){.settings-info-card,.lecture-card,.settings-student-row{background:var(--color-surface);border-color:#ffffff1f}.settings-info-row:not(:last-child){border-color:#ffffff14}.settings-info-row--editable:active{background:#ffffff0f}.settings-empty{background:#ffffff05;border-color:#ffffff1a}.settings-add-students-toggle{background:#2c9e921f;border-color:#2c9e9233;color:#2c9e92}.settings-add-students-form{background:#ffffff08;border-color:#ffffff14}.settings-add-input-list div{background:var(--color-surface);border-color:#ffffff14}.schedule-slot,.schedule-empty{background:#ffffff0a}.schedule-slot--conflict{background:#ef444426;border-color:#ef444466;box-shadow:0 0 8px #ef44444d}.schedule-conflict-warning{background:#ef44441f;border-color:#ef44444d;color:#f87171}.schedule-slot__conflict-msg{color:#f87171}.lecture-card--selected{background:#15665e26}.subject-name-suggestion{background:#ffffff0f;border-color:#ffffff1f}.subject-name-suggestion--active{background:#2c9e9226;border-color:#2c9e924d;color:#5eead4}.edu-chip{background:#ffffff0a;border-color:#ffffff14}.edu-chip:hover{background:#ffffff12}.edu-chip__label{color:#f8fafc}.edu-chip--active{background:#2c9e92d9;border-color:#2c9e92d9}.edu-chip--active .edu-chip__label{color:#fff}.edu-chip--active .edu-chip__ages{color:#ffffffa6}.settings-info-card{background:var(--color-surface);border-color:#ffffff14}.settings-info-block+.settings-info-block{border-top-color:#ffffff0f}.settings-info-tag,.settings-section__title{color:#ffffff73}.settings-date-pair{background:#ffffff0a;border-color:#ffffff14}.settings-date-input{color:#f8fafc;color-scheme:dark}.settings-info-value-btn:hover{background:#ffffff0d}.settings-info-inline-input{background:#2c9e921a;border-color:#2c9e9280;color:#fff}.lecture-card{background:var(--color-surface);border-color:#ffffff14}.lecture-card:hover{border-color:#ffffff24}.lecture-card__aula{background:#ffffff0f;color:#ffffffb3}.lecture-card__delete-btn{color:#ffffff73}.lecture-card__delete-btn:hover{background:#ef444426;color:#f87171}.lecture-modal__label{color:#ffffff73}.lecture-modal__suggestion{border-color:#ffffff1a;color:#ffffffb3}.lecture-modal__suggestion:hover{background:#ffffff0d}.lecture-modal__suggestion--active{background:#2c9e9226;border-color:#2c9e9259;color:#5eead4}.lecture-modal__schedule-empty{background:#ffffff08;border-color:#ffffff14}.lecture-modal__slot{background:#ffffff0a}.lecture-modal__slot--conflict{background:#ef44441a;border-color:#ef444459}.lecture-modal__color--active{border-color:#fff}}.cal-date-pair{display:flex;align-items:center;gap:8px}.cal-date-input{flex:1;padding:8px 10px;border:1.5px solid rgba(15,23,42,.1);border-radius:8px;font-family:inherit;font-size:13px;color:var(--color-foreground);background:var(--color-surface, #fff);outline:none;transition:border-color .15s}.cal-date-input:focus{border-color:var(--color-primary)}.cal-date-input--compact{padding:6px 8px;font-size:12px}.cal-date-sep{font-size:14px;color:var(--color-text-tertiary);flex-shrink:0}.cal-mode-toggle{display:flex;background:#0f172a0a;border-radius:var(--radius-md);padding:3px;gap:2px;margin-bottom:var(--space-md)}.cal-mode-btn{flex:1;padding:6px 12px;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;font-family:inherit;font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;transition:all .15s}.cal-mode-btn--active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 3px #00000014}.cal-periods-compact{display:flex;flex-direction:column;gap:8px}.cal-period-compact{display:flex;align-items:center;gap:8px}.cal-period-label{font-size:13px;font-weight:600;color:var(--color-primary);min-width:24px;flex-shrink:0}.settings-empty-text{color:#94a3b8;font-size:var(--font-size-sm);margin:0;padding:var(--space-md) 0}.students-add-card{margin-bottom:var(--space-md)}.students-add-new-compact{display:flex;flex-direction:column;gap:8px}.student-input-row{display:flex;align-items:center;gap:6px}.student-input-compact{flex:1;padding:8px 12px;border:1.5px solid rgba(15,23,42,.1);border-radius:8px;font-family:inherit;font-size:14px;color:var(--color-foreground);background:var(--color-surface, #fff);outline:none;transition:border-color .15s}.student-input-compact:focus{border-color:var(--color-primary)}.student-input-compact::placeholder{color:#94a3b8}.student-input-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--color-danger);font-size:18px;cursor:pointer;flex-shrink:0;border-radius:50%;transition:background .15s}.student-input-remove:active{background:#dc26261a}.students-add-actions{display:flex;align-items:center;gap:var(--space-md)}.students-add-more,.students-import-link{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:600;color:var(--color-primary);cursor:pointer}.students-add-more:active,.students-import-link:active{opacity:.7}.students-import-link{color:var(--color-text-secondary);font-weight:500}.students-add-existing-compact{display:flex;flex-direction:column;gap:8px}.students-existing-list{display:flex;flex-direction:column;gap:4px;max-height:240px;overflow-y:auto}.student-existing-row{display:flex;align-items:center;gap:8px;padding:8px;border-radius:var(--radius-md);cursor:pointer;transition:background .15s}.student-existing-row:active{background:#0f172a0a}.student-existing-info{display:flex;flex-direction:column;gap:1px;font-size:14px}.student-existing-classes{font-size:12px;color:var(--color-text-secondary)}.cal-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-top:8px;border-radius:8px;background:#f59e0b14;color:#d97706;font-size:12px;line-height:1.4}.cal-warning svg{font-size:16px;flex-shrink:0}.cal-blocker{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 24px;margin:0 var(--space-lg);text-align:center;color:var(--color-text-secondary)}.cal-blocker svg{font-size:28px;color:var(--color-warning)}.cal-blocker p{font-size:13px;line-height:1.5;margin:0;max-width:300px}@media (prefers-color-scheme: dark){.cal-date-input{background:var(--color-surface);border-color:#ffffff1a;color:#fff;color-scheme:dark}.student-input-compact{background:var(--color-surface);border-color:#ffffff1a;color:#fff}.cal-mode-toggle{background:#ffffff0f}.cal-mode-btn--active{background:var(--color-surface);color:#5eead4}.student-existing-row:active{background:#ffffff0f}.cal-warning{background:#f59e0b1f;color:#fbbf24}}@media (min-width: 992px){.settings-section{max-width:640px;margin-left:auto;margin-right:auto}}.gt{display:flex;flex-direction:column;gap:var(--space-sm);padding-bottom:72px}.gt-cat-weights{padding:var(--space-xs) var(--space-md)}.gt-cat-slider-row{display:flex;align-items:center;gap:var(--space-sm)}.gt-cat-end{display:flex;align-items:center;gap:4px;flex-shrink:0}.gt-cat-label{font-size:11px;font-weight:600;color:var(--color-muted-foreground);white-space:nowrap}.gt-cat-pct{font-size:11px;font-weight:700;color:var(--color-foreground);min-width:24px}.gt-cat-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;background:linear-gradient(to right,#2563eb 80%,#059669 80%);outline:none;cursor:pointer}.gt-cat-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-primary);box-shadow:0 1px 3px #00000026;cursor:pointer}.gt-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;display:inline-block}.gt-dot--exam{background:#2563eb}.gt-dot--exercise{background:#059669}.gt-view-tabs{padding:0 var(--space-md)}.gt-segment{--background: rgba(15, 23, 42, .04);border-radius:var(--radius-md)}.gt-class-avg{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md)}.gt-class-avg-item{display:flex;align-items:center;gap:4px}.gt-class-avg-label{font-size:var(--font-size-xs);color:var(--color-muted-foreground);font-weight:500}.gt-class-avg-value{font-size:var(--font-size-sm);font-weight:700;padding:2px 8px;border-radius:var(--radius-full)}.gt-class-avg-value-sm{font-size:var(--font-size-xs);font-weight:700;color:var(--color-foreground)}.gt-weight-panel{margin:0 var(--space-sm);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-strong);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-sm)}.gt-weight-panel--editing{border-color:var(--color-primary);border-width:2px}.gt-weight-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xs)}.gt-weight-panel-title{font-size:var(--font-size-xs);font-weight:700;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em}.gt-weight-edit-btn{display:flex;align-items:center;gap:4px;background:#15665e14;color:var(--color-primary);border:none;border-radius:var(--radius-md);padding:4px 10px;font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.gt-weight-edit-btn:active{background:#15665e26}.gt-weight-edit-actions{display:flex;align-items:center;gap:var(--space-xs)}.gt-weight-cancel-btn{display:flex;align-items:center;justify-content:center;background:#0f172a0f;color:var(--color-muted-foreground);border:none;border-radius:var(--radius-md);width:32px;height:32px;cursor:pointer;transition:background var(--transition-fast)}.gt-weight-cancel-btn:active{background:#0f172a1f}.gt-weight-save-btn{display:flex;align-items:center;gap:4px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:6px 14px;font-size:var(--font-size-xs);font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.gt-weight-save-btn:active{opacity:.85}.gt-weight-save-btn--disabled{opacity:.4;pointer-events:none}.gt-weight-display{display:flex;flex-wrap:wrap;gap:6px}.gt-weight-chip{font-size:12px;color:var(--color-muted-foreground);background:#0f172a08;padding:3px 10px;border-radius:var(--radius-full);white-space:nowrap}.gt-weight-chip strong{color:var(--color-foreground)}.gt-weight-edit-list{display:flex;flex-direction:column;gap:6px}.gt-weight-edit-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.gt-weight-edit-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.gt-weight-edit-input-wrap{display:flex;align-items:center;gap:2px;flex-shrink:0}.gt-weight-pct-input{width:52px;padding:6px 8px;border:2px solid rgba(15,23,42,.12);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;text-align:center;outline:none;background:transparent;color:var(--color-foreground);transition:border-color var(--transition-fast)}.gt-weight-pct-input:focus{border-color:var(--color-primary)}.gt-weight-pct-symbol{font-size:var(--font-size-sm);font-weight:600;color:var(--color-muted-foreground)}.gt-weight-total-row{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-xs);margin-top:2px;border-top:1px solid rgba(15,23,42,.08)}.gt-weight-total-label{font-size:var(--font-size-sm);font-weight:700;color:var(--color-muted-foreground)}.gt-weight-total-value{font-size:var(--font-size-sm);font-weight:700;padding:2px 10px;border-radius:var(--radius-full)}.gt-weight-total--valid .gt-weight-total-value{color:#059669;background:#0596691a}.gt-weight-total--invalid .gt-weight-total-value{color:#dc2626;background:#dc26261a}.gt-weight-error{font-size:11px;font-weight:500;color:#dc2626;text-align:center;padding:2px 0}.gt-pct-badge{display:inline-block;font-size:9px;font-weight:700;color:#2563eb;background:#2563eb14;padding:1px 5px;border-radius:var(--radius-full);margin-top:2px}.gt-pct-badge--exercise{color:#059669;background:#05966914}.gt-detail-pct{font-size:10px;font-weight:600;color:#94a3b8;margin-left:4px}.gt-summary{padding:0 var(--space-sm)}.gt-student-row{background:var(--color-surface);border-radius:var(--radius-md);margin-bottom:1px;overflow:hidden;border:1px solid var(--color-border)}.gt-student-row:first-child{border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md)}.gt-student-row:last-child{border-radius:var(--radius-md) var(--radius-md) var(--radius-lg) var(--radius-lg)}.gt-student-row:only-child{border-radius:var(--radius-lg)}.gt-student-main{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--transition-fast);gap:var(--space-sm)}.gt-student-main:active{background:#0f172a05}.gt-student-name{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--color-primary);min-width:0;line-height:1.3}.gt-student-grades{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.gt-mini-grade{display:flex;align-items:center;gap:3px;font-size:var(--font-size-xs);font-weight:600;color:var(--color-muted-foreground)}.gt-avg-badge{font-size:var(--font-size-sm);font-weight:700;padding:2px 10px;border-radius:var(--radius-full);min-width:36px;text-align:center}.gt-expand-icon{font-size:14px;color:var(--color-muted-foreground);flex-shrink:0}.gt-student-detail{padding:0 var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);border-top:1px solid rgba(15,23,42,.04)}.gt-detail-section{display:flex;flex-direction:column;gap:4px}.gt-detail-header{display:flex;align-items:center;gap:var(--space-xs);padding-top:var(--space-sm);font-size:var(--font-size-xs);font-weight:600;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.03em}.gt-detail-avg{margin-left:auto;font-weight:700;color:var(--color-foreground)}.gt-detail-items{display:flex;flex-direction:column}.gt-detail-item{display:flex;align-items:center;justify-content:space-between;padding:4px var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast)}.gt-detail-item:active{background:#15665e0f}.gt-detail-item-name{font-size:var(--font-size-xs);color:var(--color-foreground);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:var(--space-sm)}.gt-detail-item-grade{font-size:var(--font-size-xs);font-weight:700;padding:1px 6px;border-radius:var(--radius-sm);flex-shrink:0}.gt-category-view{display:flex;flex-direction:column;gap:var(--space-sm)}.gt-table-wrap{overflow-x:auto;margin:0 var(--space-xs);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);padding:var(--space-xs) 0}.gt-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-xs);min-width:320px}.gt-table th{position:sticky;top:0;background:var(--color-surface);padding:var(--space-sm) var(--space-sm);font-weight:600;font-size:10px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid rgba(15,23,42,.06);white-space:nowrap}.gt-th-student{text-align:left;min-width:100px;padding-left:var(--space-md)!important}.gt-th-item{text-align:center;min-width:56px;cursor:pointer;transition:color var(--transition-fast)}.gt-th-item:hover{color:var(--color-primary)}.gt-th-item--exercise{min-width:52px}.gt-th-name{display:block;font-size:10px;line-height:1.2;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 auto}.gt-th-max{display:block;font-size:9px;font-weight:500;color:#cbd5e1;margin-top:1px}.gt-th-avg{text-align:center;min-width:44px}.gt-table td{padding:6px var(--space-sm);border-bottom:1px solid rgba(15,23,42,.03)}.gt-table tbody tr{transition:background var(--transition-fast)}.gt-table tbody tr:hover td{background:#0f172a04}.gt-td-student{font-weight:500;font-size:var(--font-size-xs);color:var(--color-primary);cursor:pointer;padding-left:var(--space-md)!important;line-height:1.3}.gt-td-student:hover{text-decoration:underline}.gt-td-grade{text-align:center;font-weight:600;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.gt-td-editable{cursor:pointer;transition:background var(--transition-fast)}.gt-td-editable:hover{background:#15665e0f}.gt-td-avg{text-align:center;font-weight:700;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.gt-cell-input{width:40px;padding:1px 2px;border:2px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-align:center;outline:none;background:transparent;color:var(--color-foreground)}@media (prefers-color-scheme: dark){.gt-segment{--background: rgba(255, 255, 255, .06)}.gt-student-row{background:var(--color-surface);border-color:#ffffff0a}.gt-student-detail{border-color:#ffffff0f}.gt-table-wrap,.gt-table th{background:var(--color-surface);border-color:#ffffff0f}.gt-table td{border-color:#ffffff08}.gt-table tbody tr:hover td{background:#ffffff08}.gt-td-editable:hover{background:#15665e1a}.gt-cell-input{background:#ffffff0f;color:#fff}.gt-cat-slider::-webkit-slider-thumb{background:#1e1e22}.gt-weight-panel{background:var(--color-surface);border-color:#ffffff0f}.gt-weight-panel--editing{border-color:var(--color-primary)}.gt-weight-chip{background:#ffffff0f}.gt-weight-chip strong{color:#fff}.gt-weight-pct-input{border-color:#ffffff26;background:#ffffff0f;color:#fff}.gt-weight-total-row{border-color:#ffffff14}.gt-pct-badge{background:#2563eb26}.gt-pct-badge--exercise{background:#05966926}}.exercise-generator-modal{--height: 100%;--width: 100%;--border-radius: 0}.exgen{padding:var(--space-lg) 0 var(--space-3xl)}.exgen__section-label{display:block;font-size:var(--font-size-xs);font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-sm)}.exgen__body{padding:0 var(--space-xl)}.exgen__name-field{margin-bottom:var(--space-lg)}.exgen__name-label{display:block;font-size:var(--font-size-xs, 12px);font-weight:600;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.exgen__name-warning{color:var(--color-warning);font-size:13px;margin:var(--space-xs) 0 0;display:flex;align-items:center;gap:4px}@media (prefers-color-scheme: dark){.exgen__name-field input.exgen__name-input{--background: rgba(255, 255, 255, .06);border-color:#ffffff1f}.exgen__name-field input.exgen__name-input:hover{border-color:#fff3}.exgen__name-field input.exgen__name-input.has-focus{border-color:var(--color-primary);--background: rgba(21, 102, 94, .08)}}.exgen__type-toggle{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.exgen__type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:2px solid rgba(15,23,42,.08);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;color:#64748b;cursor:pointer;transition:all var(--transition-fast)}.exgen__type-btn:active{transform:scale(.98)}.exgen__type-btn--active{border-color:var(--color-primary);background:#15665e0d;color:var(--color-primary)}.exgen__type-btn--recovery.exgen__type-btn--active{border-color:var(--color-warning);background:#f59e0b14;color:var(--color-warning)}.exgen__mode-toggle{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.exgen__mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-surface);border:2px solid rgba(15,23,42,.08);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;color:#64748b;cursor:pointer;transition:all var(--transition-fast)}.exgen__mode-btn:active{transform:scale(.98)}.exgen__mode-btn--active{border-color:var(--color-primary);background:#15665e0d;color:var(--color-primary)}.exgen__source-toggle{margin-bottom:var(--space-lg)}.exgen__areas{background:#f59e0b14;border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);border:1px solid rgba(245,158,11,.12)}.exgen__areas-label{font-size:var(--font-size-xs);font-weight:600;color:#92400e;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:var(--space-sm)}.exgen__areas-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.exgen__area-badge{font-size:var(--font-size-xs)!important;padding:3px 8px!important;border-radius:var(--radius-full)!important}.exgen__empty{text-align:center;padding:var(--space-2xl) var(--space-lg);color:#94a3b8;font-size:var(--font-size-sm);line-height:1.6}.exgen__field{margin-bottom:var(--space-md)}.exgen__select{--background: var(--color-surface);--border-radius: var(--radius-md);--padding-start: var(--space-lg);--padding-end: var(--space-md);--min-height: 48px;margin:0 0 var(--space-md);box-shadow:var(--shadow-xs);border:1px solid rgba(15,23,42,.06);overflow:hidden;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.exgen__exam-picker,.exgen__students{margin-bottom:var(--space-md)}.exgen__picker-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.08);cursor:pointer;transition:all var(--transition-fast)}.exgen__picker-header:hover{border-color:var(--color-primary)}.exgen__picker-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);display:flex;align-items:center;gap:var(--space-sm)}.exgen__picker-dropdown{margin-top:var(--space-sm);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.08);overflow:hidden}.exgen__picker-search{--border-radius: 0;--box-shadow: none;--background: transparent;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid rgba(15,23,42,.06)}.exgen__picker-list{max-height:200px;overflow-y:auto}.exgen__picker-list--students{max-height:240px}.exgen__picker-group{border-bottom:1px solid rgba(15,23,42,.06)}.exgen__picker-group:last-child{border-bottom:none}.exgen__picker-group-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#0f172a05;font-size:var(--font-size-xs);font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px;position:sticky;top:0;z-index:1}.exgen__picker-group-toggle{margin-left:auto;background:none;border:none;font-family:inherit;font-size:var(--font-size-xs);font-weight:600;color:var(--color-primary);cursor:pointer;padding:2px 6px;text-transform:none}.exgen__picker-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--transition-fast)}.exgen__picker-item:hover{background:#0f172a05}.exgen__picker-item--selected{background:#15665e0a}.exgen__picker-item-info{flex:1;min-width:0}.exgen__picker-item-row{display:flex;align-items:center;gap:6px}.exgen__picker-item-name{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground)}.exgen__picker-item-code{font-size:var(--font-size-xs);color:#94a3b8;font-family:monospace}.exgen__picker-item-warn{font-size:10px!important;padding:2px 5px!important;border-radius:var(--radius-full)!important}.exgen__picker-item-areas{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.exgen__picker-area-tag{font-size:10px;font-weight:500;padding:1px 7px;border-radius:8px;background:#f59e0b1a;color:#b45309;white-space:nowrap}.exgen__picker-area-more{font-size:10px;font-weight:600;color:#94a3b8;padding:1px 4px}.trimester-pills{display:flex;gap:6px;margin-bottom:var(--space-sm, 8px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.trimester-pill{flex-shrink:0;padding:5px 14px;border-radius:var(--radius-full, 999px);border:1.5px solid rgba(15,23,42,.1);background:transparent;color:var(--color-muted-foreground);font-size:var(--font-size-sm, 13px);font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent}.trimester-pill--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.exgen__topics-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.exgen__topic-chip{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-radius:var(--radius-md);border:1.5px solid rgba(15,23,42,.06);cursor:pointer;transition:all var(--transition-fast)}.exgen__topic-chip--active{border-color:var(--color-primary);background:#15665e0a}.exgen__topic-chip--partial{border-color:var(--color-primary-tint);border-style:dashed;background:#15665e05}.exgen__topic-chip--sub{padding:6px 10px;border-radius:8px;font-size:12px}.exgen__topic-chip:active{transform:scale(.98)}.exgen__topic-check{--size: 18px;pointer-events:none}.exgen__topic-name{flex:1;font-size:var(--font-size-sm);font-weight:500}.exgen__topic-count{font-size:10px!important;padding:2px 6px!important;border-radius:var(--radius-full)!important}.exgen__students-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm)}.exgen__students-label{font-size:var(--font-size-sm);font-weight:600;color:#64748b;display:flex;align-items:center;gap:var(--space-sm)}.exgen__students-count{font-size:10px!important;padding:2px 7px!important;border-radius:var(--radius-full)!important}.exgen__students-actions{display:flex;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-bottom:1px solid rgba(15,23,42,.06);flex-wrap:wrap}.exgen__filter-chip{background:#0f172a0a;border:1px solid rgba(15,23,42,.08);border-radius:var(--radius-full);padding:4px 10px;font-size:var(--font-size-xs);font-weight:500;font-family:inherit;cursor:pointer;color:#64748b;transition:all var(--transition-fast)}.exgen__filter-chip--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.exgen__filter-chip--warn.exgen__filter-chip--active{background:var(--color-warning);border-color:var(--color-warning)}.exgen__students-list{max-height:180px;overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.06)}.exgen__student-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--transition-fast)}.exgen__student-row+.exgen__student-row{border-top:1px solid rgba(15,23,42,.04)}.exgen__student-row:active{background:#0f172a05}.exgen__student-check{--size: 18px;pointer-events:none}.exgen__student-name{flex:1;font-size:var(--font-size-sm);font-weight:500}.exgen__student-code{font-size:var(--font-size-xs);color:#94a3b8;font-family:monospace}.exgen__student-warn{font-size:10px!important;padding:2px 5px!important;border-radius:var(--radius-full)!important}.exgen__options-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-sm) var(--space-xs);color:#94a3b8;font-size:var(--font-size-sm);cursor:pointer;background:none;border:none;font-family:inherit;font-weight:500}.exgen__options-toggle:hover{color:var(--color-primary)}.exgen__options{background:var(--color-surface);border-radius:14px;padding:var(--space-md);margin-bottom:var(--space-md);box-shadow:var(--shadow-xs);border:1px solid rgba(21,102,94,.08)}.exgen__options .exgen__select{--background: rgba(21, 102, 94, .04);box-shadow:none;border:1px solid rgba(21,102,94,.08);margin:0;--min-height: 42px;border-radius:var(--radius-md);font-size:var(--font-size-xs)}.exgen__textarea-item{--background: transparent;--padding-start: var(--space-md)}.exgen__options-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-sm)}.exgen__dates-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.exgen__select-half{min-width:0}.exgen__error{text-align:center;padding:var(--space-sm);margin-bottom:var(--space-md)}.exgen__generating{display:flex;flex-direction:column;align-items:center;padding:32px 24px;text-align:center}.exgen__generating-animation{margin-bottom:24px}.exgen__generating-brain{position:relative;width:80px;height:80px;display:flex;align-items:center;justify-content:center}.exgen__generating-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid var(--color-primary);opacity:0;animation:exgen-pulse 2.5s ease-out infinite}.exgen__generating-pulse.delay-1{animation-delay:.8s}.exgen__generating-pulse.delay-2{animation-delay:1.6s}.exgen__generating-icon{font-size:36px;color:var(--color-primary);animation:exgen-sparkle 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(21,102,94,.4))}@keyframes exgen-pulse{0%{transform:scale(.5);opacity:.8}to{transform:scale(1.8);opacity:0}}@keyframes exgen-sparkle{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(5deg)}50%{transform:scale(1) rotate(0)}75%{transform:scale(1.1) rotate(-5deg)}}.exgen__generating-text h3{margin:0 0 6px;font-size:17px;font-weight:600;color:var(--color-foreground)}.exgen__generating-text p{margin:0;font-size:14px;color:var(--color-muted-foreground)}.exgen__generating-steps{display:flex;align-items:center;gap:24px;margin-top:28px}.exgen__step{display:flex;flex-direction:column;align-items:center;gap:6px}.exgen__step-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border);transition:all .3s ease}.exgen__step--active .exgen__step-dot{background:var(--color-primary);box-shadow:0 0 0 4px #15665e33;animation:exgen-dot-pulse 1s ease-in-out infinite}.exgen__step--done .exgen__step-dot{background:var(--color-success);box-shadow:none;animation:none}@keyframes exgen-dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.exgen__step-label{font-size:11px;font-weight:600;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.3px}.exgen__step--active .exgen__step-label{color:var(--color-primary)}.exgen__step--done .exgen__step-label{color:var(--color-success)}.exgen__success-container{padding:24px 0}.exgen__success-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:24px}.exgen__success-icon-wrapper{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#05966926,#10b98114);display:flex;align-items:center;justify-content:center;margin-bottom:16px;animation:exgen-success-pop .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes exgen-success-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.exgen__success-check{font-size:38px;color:var(--color-success)}.exgen__success-title{margin:0 0 6px;font-size:20px;font-weight:700;color:var(--color-foreground)}.exgen__success-subtitle{margin:0;font-size:14px;color:var(--color-muted-foreground)}.exgen__success-downloads{margin-bottom:24px}.exgen__downloads-label{font-size:12px;font-weight:600;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.exgen__download-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.exgen__download-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;background:linear-gradient(135deg,#15665e14,#15665e08);border:2px solid transparent;border-radius:14px;cursor:pointer;transition:all .2s ease;font-family:inherit}.exgen__download-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.exgen__download-card:active{transform:scale(.98)}.exgen__download-card--solutions{background:linear-gradient(135deg,#0596691a,#10b9810d)}.exgen__download-card--solutions:hover{border-color:var(--color-success)}.exgen__download-card--loading{opacity:.7;pointer-events:none}.exgen__download-icon{width:44px;height:44px;border-radius:12px;background:var(--color-primary);display:flex;align-items:center;justify-content:center}.exgen__download-card--solutions .exgen__download-icon{background:var(--color-success)}.exgen__download-icon svg{--color: white;width:22px;height:22px}.exgen__download-title{font-size:14px;font-weight:600;color:var(--color-foreground)}.exgen__download-desc{font-size:12px;color:var(--color-muted-foreground)}.exgen__success-actions{display:flex;flex-direction:column;gap:10px}.exgen__success-btn{--border-radius: 12px;height:48px;font-weight:600;margin:0}.exgen__success-btn--primary{--background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-tertiary) 100%)}.exgen__button{margin-top:var(--space-lg);--padding-top: 14px;--padding-bottom: 14px;--border-radius: 14px;font-weight:600;font-size:var(--font-size-base);--background: var(--color-primary);--box-shadow: 0 4px 14px rgba(21, 102, 94, .3)}@media (prefers-color-scheme: dark){.exgen__type-btn{background:var(--color-surface);border-color:#ffffff1a;color:#a1a1aa}.exgen__type-btn--active{border-color:var(--color-primary);background:#15665e26;color:var(--color-primary)}.exgen__type-btn--recovery.exgen__type-btn--active{border-color:var(--color-warning);background:#f59e0b1f;color:#fbbf24}.exgen__mode-btn{background:var(--color-surface);border-color:#ffffff1a;color:#a1a1aa}.exgen__mode-btn--active{border-color:var(--color-primary);background:#15665e26;color:var(--color-primary)}.exgen__select{--background: var(--color-surface);border:1px solid rgba(255,255,255,.06)}.exgen__options{background:var(--color-surface);border:1px solid rgba(255,255,255,.06)}.exgen__areas{background:#f59e0b1f;border:1px solid rgba(245,158,11,.2)}.exgen__areas-label{color:#fbbf24}.exgen__topic-chip{background:var(--color-surface);border-color:#ffffff14}.exgen__topic-chip--active{border-color:var(--color-primary);background:#15665e1a}.exgen__picker-header{background:var(--color-surface);border-color:#ffffff1a}.exgen__picker-dropdown{background:var(--color-surface);border-color:#ffffff14}.exgen__picker-search,.exgen__picker-group{border-color:#ffffff0f}.exgen__picker-group-header,.exgen__picker-item:hover{background:#ffffff08}.exgen__picker-item--selected{background:#15665e1a}.exgen__students-list{background:var(--color-surface);border-color:#ffffff0f}.exgen__students-actions{border-color:#ffffff0f}.exgen__student-row+.exgen__student-row{border-color:#ffffff0a}.exgen__filter-chip{background:#ffffff0f;border-color:#ffffff1a;color:#a1a1aa}.exgen__generating-text h3{color:#fff}.exgen__success-icon-wrapper{background:linear-gradient(135deg,#05966933,#10b9811a)}.exgen__success-title{color:#fff}.exgen__download-card{background:linear-gradient(135deg,#15665e26,#15665e0d)}.exgen__download-card--solutions{background:linear-gradient(135deg,#05966926,#10b98114)}.exgen__download-title{color:#fff}}.exgen__gen-section{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid rgba(15,23,42,.06);border-radius:16px;padding:20px;margin-bottom:20px}.exgen__gen-section-header{display:flex;align-items:center;gap:14px;margin-bottom:18px}.exgen__gen-section-title h4{margin:0;font-size:15px;font-weight:700;color:#1e293b;letter-spacing:-.02em}.exgen__gen-section-title p{margin:2px 0 0;font-size:13px;color:#64748b}.exgen__gen-cards{display:flex;gap:12px;margin-bottom:16px}.exgen__gen-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 12px;background:var(--color-surface);border:2px solid #e2e8f0;border-radius:14px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.exgen__gen-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:transparent;transition:background .2s ease}.exgen__gen-card:active{transform:scale(.98)}.exgen__gen-card--active{border-color:var(--color-primary);background:#15665e08;box-shadow:0 4px 16px #15665e1f}.exgen__gen-card--active:before{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-tint))}.exgen__gen-card-icon{width:48px;height:48px;background:#f1f5f9;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.exgen__gen-card--active .exgen__gen-card-icon{background:#15665e1a}.exgen__gen-card-content{display:flex;flex-direction:column;gap:2px}.exgen__gen-card-title{font-size:13px;font-weight:700;color:#1e293b}.exgen__gen-card-desc{font-size:11px;color:#94a3b8;line-height:1.3}.exgen__gen-card-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.02em}.exgen__gen-card-badge--fast{background:#10b9811a;color:#059669}.exgen__gen-card-badge--premium{background:#f59e0b1a;color:#d97706}.exgen__recovery-summary{background:#f59e0b0f;border:1px solid rgba(245,158,11,.15);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}.exgen__recovery-summary-title{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-warning);margin-bottom:10px}.exgen__recovery-students{display:flex;flex-direction:column;gap:8px}.exgen__recovery-student{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.exgen__recovery-student-name{font-size:13px;font-weight:600;color:var(--color-foreground);min-width:80px;flex-shrink:0}.exgen__recovery-student-areas{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.exgen__recovery-no-areas{font-size:12px;color:#94a3b8;margin:4px 0 0;font-style:italic}.exgen__gen-recovery-info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:10px;font-size:13px;color:var(--color-warning);line-height:1.4}.exgen__gen-preview-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;color:#64748b;font-size:13px}.exgen__gen-preview-loading svg{--color: var(--color-primary)}.exgen__gen-preview{background:var(--color-surface);border-radius:12px;padding:16px;border:1px solid #e2e8f0}.exgen__gen-preview--unique{border-color:#f59e0b33;background:#fffbeb80}.exgen__gen-preview-stats{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:14px}.exgen__gen-stat{display:flex;flex-direction:column;align-items:center}.exgen__gen-stat-value{font-size:24px;font-weight:800;color:var(--color-primary);line-height:1}.exgen__gen-preview--unique .exgen__gen-stat-value{color:#d97706}.exgen__gen-stat-label{font-size:11px;color:#64748b;margin-top:2px}.exgen__gen-stat-divider{width:1px;height:32px;background:#e2e8f0}.exgen__gen-groups{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.exgen__gen-group-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#f1f5f9;border-radius:20px;font-size:12px;color:#475569}.exgen__gen-group-count{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--color-primary);color:#fff;border-radius:10px;font-size:11px;font-weight:600}.exgen__group-preview{background:var(--color-muted);border-radius:12px;padding:16px;margin-bottom:16px}.exgen__group-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:600;color:var(--color-foreground)}.exgen__group-loading{display:flex;align-items:center;gap:10px;padding:16px;color:var(--color-muted-foreground);font-size:14px}@media (prefers-color-scheme: dark){.exgen__gen-section{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-surface) 100%);border-color:#ffffff14}.exgen__gen-section-icon{background:#15665e26}.exgen__gen-section-title h4{color:#e4e4e7}.exgen__gen-section-title p{color:#71717a}.exgen__gen-preview{background:var(--color-surface);border-color:#ffffff14}.exgen__gen-stat-label{color:#71717a}.exgen__gen-stat-divider{background:#ffffff14}.exgen__gen-group-chip{background:#ffffff0f;color:#a1a1aa}.exgen__gen-recovery-info{background:#f59e0b1a;border-color:#f59e0b33;color:#fbbf24}.exgen__picker-area-tag{background:#f59e0b26;color:#fbbf24}.exgen__picker-area-more{color:#71717a}.exgen__name-field input.exgen__name-primary{color:#e4e4e7}.exgen__recovery-summary{background:#f59e0b14;border-color:#f59e0b26}.exgen__recovery-summary-title{color:#fbbf24}.exgen__recovery-student-name{color:#e4e4e7}.exgen__recovery-no-areas{color:#71717a}}.exgen__groups-list{display:flex;flex-direction:column;gap:8px}.exgen__groups-summary{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-muted-foreground);padding-bottom:8px;border-bottom:1px solid var(--color-border)}.exgen__groups-time{display:flex;align-items:center;gap:4px;color:var(--color-primary)}.exgen__group-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--color-surface);border-radius:8px}.exgen__group-name{font-size:14px;color:var(--color-foreground)}.exgen__unique-warning{display:flex;align-items:flex-start;gap:10px;padding:12px;background:#f59e0b1a;border-radius:8px;font-size:13px;color:#bf6905}@media (prefers-color-scheme: dark){.exgen__group-preview{background:#ffffff0a}.exgen__gen-mode{background:var(--color-surface);border-color:#ffffff14}.exgen__gen-mode:hover{border-color:#15665e4d}.exgen__gen-mode--active{border-color:var(--color-primary);background:#15665e26}.exgen__groups-summary{border-color:#ffffff1a}.exgen__group-item{background:#ffffff0f}.exgen__unique-warning{background:#f59e0b26}}.exgen__subject-header{font-size:var(--font-size-xs, 12px);font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-sm, 8px) 0 var(--space-xs, 4px);margin-top:var(--space-xs, 4px)}.exgen__materials-note{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-muted-foreground);margin:8px 0 0;padding:0}.exgen__header{padding:var(--space-lg) var(--space-xl) var(--space-md);border-bottom:1px solid var(--color-border)}.exgen__title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-foreground);letter-spacing:-.01em}.exgen__subtitle{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--color-muted-foreground);line-height:1.45}.exgen__scope{margin-bottom:var(--space-lg)}.exgen__scope-toggle{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-top:var(--space-sm)}.exgen__scope-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;padding:var(--space-sm);background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;color:var(--color-muted-foreground);cursor:pointer;transition:all var(--transition-fast);text-align:center;line-height:1.2}.exgen__scope-btn:hover{border-color:var(--color-primary);color:var(--color-foreground)}.exgen__scope-btn--active{border-color:var(--color-primary);background:#15665e0f;color:var(--color-primary)}.exgen__scope-select{margin-top:var(--space-md);width:100%}.exgen__scope-hint{margin:var(--space-md) 0 0;padding:var(--space-md);background:var(--color-surface-subtle);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-muted-foreground);line-height:1.45}.exgen__field{display:flex;flex-direction:column;gap:4px;margin:0}.exgen__field-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em}.exgen__instructions-textarea{margin-top:var(--space-sm);width:100%}@media (max-width: 480px){.exgen__header{padding:var(--space-md) var(--space-lg) var(--space-sm)}.exgen__body{padding:0 var(--space-lg)}.exgen__scope-toggle{grid-template-columns:1fr}.exgen__scope-btn{flex-direction:row;justify-content:flex-start;gap:var(--space-sm);min-height:48px;padding:var(--space-sm) var(--space-md)}}.gen__body>.exgen__body--in-shell{padding:0;display:flex;flex-direction:column;gap:var(--space-lg)}.gen__body .exgen__button{display:none!important}.add-students__progress{padding:16px;text-align:center;background:var(--color-muted)}.add-students__progress span{display:block;margin-top:8px;font-size:14px;color:var(--color-muted-foreground)}.add-students__hint{padding:16px;margin:0;color:var(--color-muted-foreground);font-size:14px}.add-students__actions{padding:16px;position:sticky;bottom:0;background:var(--color-background);border-top:1px solid var(--color-muted)}.add-students__filters{display:flex;flex-direction:column;gap:8px;padding:8px 16px}.add-students__searchbar{padding:0}.add-students__class-filter-wrap{position:relative;width:100%}.add-students__class-filter-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;background:#0f172a0a;border:1.5px solid rgba(15,23,42,.1);border-radius:10px;font-family:inherit;font-size:14px;font-weight:500;color:var(--color-foreground);cursor:pointer;transition:border-color .15s,background .15s;text-align:left}.add-students__class-filter-btn:hover{background:#0f172a12;border-color:#0f172a2e}.add-students__class-filter-caret{flex-shrink:0;color:#94a3b8;transition:transform .18s}.add-students__class-filter-caret--open{transform:rotate(180deg)}.add-students__class-filter-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.add-students__class-filter-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:101;background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:12px;box-shadow:0 8px 24px #0f172a1a,0 2px 6px #0f172a0f;overflow:hidden}.add-students__class-filter-option{display:block;width:100%;padding:11px 14px;background:none;border:none;font-family:inherit;font-size:14px;font-weight:500;color:#334155;text-align:left;cursor:pointer;transition:background .12s}.add-students__class-filter-option:hover{background:#0f172a0a}.add-students__class-filter-option--active{color:var(--color-primary);background:#15665e12;font-weight:600}@media (prefers-color-scheme: dark){.add-students__class-filter-btn{background:#ffffff0f;border-color:#ffffff1a;color:#f1f5f9}.add-students__class-filter-btn:hover{background:#ffffff17}.add-students__class-filter-dropdown{background:#1e2432;border-color:#ffffff1a;box-shadow:0 8px 24px #0000004d}.add-students__class-filter-option{color:#cbd5e1}.add-students__class-filter-option:hover{background:#ffffff0d}}.add-students__select-all{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-muted);border-bottom:1px solid var(--color-border)}.add-students__select-all span{font-size:14px;color:var(--color-muted-foreground)}.add-students__loading{display:flex;justify-content:center;padding:48px}.add-students__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.add-students__empty h3{margin:0 0 8px;font-size:18px;color:var(--color-foreground)}.add-students__empty p{margin:0;font-size:14px;color:var(--color-muted-foreground)}.sdi{--sdi-accent: var(--color-status-info);--sdi-accent-bg: color-mix(in oklab, var(--sdi-accent) 8%, transparent);--sdi-accent-border: color-mix(in oklab, var(--sdi-accent) 18%, transparent);background:var(--sdi-accent-bg);border:1px solid var(--sdi-accent-border);border-radius:var(--radius-lg);overflow:hidden;min-width:0;max-width:100%}.sdi__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left;transition:background .16s var(--ease-out)}.sdi__header:hover{background:color-mix(in oklab,var(--sdi-accent) 4%,transparent)}.sdi__header-left{display:flex;align-items:center;gap:10px;min-width:0}.sdi__icon{width:34px;height:34px;background:var(--sdi-accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px color-mix(in oklab,var(--sdi-accent) 28%,transparent)}.sdi__icon svg{font-size:18px;color:#fff}.sdi__header-text{display:flex;flex-direction:column;gap:1px;min-width:0}.sdi__title{font-size:var(--font-size-sm);font-weight:700;color:var(--sdi-accent);letter-spacing:-.01em}.sdi__subtitle{font-size:11px;color:var(--color-text-secondary);display:inline-flex;align-items:center;gap:3px}.sdi__subtitle-icon{font-size:11px;color:var(--color-text-tertiary)}.sdi__chevron{font-size:18px;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .2s var(--ease-out)}.sdi__body{padding:0 14px 14px;display:flex;flex-direction:column;gap:12px;overflow:hidden;min-width:0}.sdi__section{display:flex;flex-direction:column;min-width:0;overflow:hidden}.sdi__section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 0;background:none;border:none;cursor:pointer;font-family:inherit;text-align:left}.sdi__section-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--color-foreground)}.sdi__section-header svg{font-size:15px;color:var(--sdi-accent)}.sdi__section-chevron{font-size:14px;color:var(--color-text-tertiary);flex-shrink:0;transition:transform .2s var(--ease-out)}.sdi__section--alert .sdi__section-header svg{color:var(--color-warning)}.sdi__section--positive .sdi__section-header svg{color:var(--color-status-success)}.sdi__section--grade-alert .sdi__section-header svg{color:var(--color-status-danger)}.sdi__section-body{padding-top:4px;padding-bottom:2px;min-width:0;overflow:hidden}.sdi__list{margin:0;padding-left:18px;font-size:12px;color:var(--color-text-secondary);line-height:1.5;overflow:hidden}.sdi__list li{margin-bottom:2px;word-break:break-word;overflow-wrap:break-word}.sdi__list--suggestions li::marker{color:var(--sdi-accent)}.sdi__alerts{display:flex;flex-direction:column;gap:6px}.sdi__plan-session{padding:10px 12px;margin-bottom:8px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 6%,transparent);border:1px solid color-mix(in oklab,var(--color-primary) 18%,transparent)}.sdi__plan-session-header{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-primary);margin-bottom:4px}.sdi__plan-session-header svg{font-size:16px;flex-shrink:0}.sdi__plan-session-topic{flex:1}.sdi__plan-session-type{font-size:11px;font-weight:700;padding:2px 7px;border-radius:var(--radius-sm);background:color-mix(in oklab,var(--color-primary) 14%,transparent);color:var(--color-primary);flex-shrink:0;letter-spacing:.01em}.sdi__plan-session-title{font-size:var(--font-size-sm);color:var(--color-foreground);margin-bottom:2px}.sdi__plan-session-focus{font-size:12px;color:var(--color-text-secondary);margin-bottom:6px}.sdi__plan-session-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.sdi__plan-tag{font-size:11px;padding:2px 8px;border-radius:var(--radius-sm);background:color-mix(in oklab,var(--color-primary) 8%,transparent);color:var(--color-primary)}.sdi__upcoming-exam{padding:10px 12px;margin-bottom:8px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-status-danger) 5%,transparent);border:1px solid color-mix(in oklab,var(--color-status-danger) 18%,transparent)}.sdi__upcoming-exam-header{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-status-danger);margin-bottom:4px}.sdi__upcoming-exam-header svg{font-size:16px;flex-shrink:0}.sdi__upcoming-exam-days{font-size:11px;font-weight:700;padding:2px 7px;border-radius:var(--radius-sm);background:color-mix(in oklab,var(--color-status-danger) 12%,transparent);color:var(--color-status-danger);margin-left:auto;flex-shrink:0;letter-spacing:.01em}.sdi__upcoming-exam-topics{font-size:12px;color:var(--color-text-secondary);margin-bottom:8px}.sdi__upcoming-exam-actions{display:flex;gap:6px}.sdi__action-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:0;border-radius:var(--radius-md);cursor:pointer;font:inherit;font-size:12px;font-weight:600;background:var(--color-primary);color:#fff;transition:filter .16s var(--ease-out),transform .16s var(--ease-out)}.sdi__action-btn:hover{filter:brightness(1.06)}.sdi__action-btn:active{transform:scale(.97)}.sdi__action-btn svg{font-size:14px}.sdi__alert-item{background:color-mix(in oklab,var(--color-warning) 8%,transparent);border:1px solid color-mix(in oklab,var(--color-warning) 16%,transparent);border-radius:var(--radius-md);padding:8px 10px;display:flex;flex-direction:column;gap:2px}.sdi__alert-name{font-size:12px;font-weight:600;color:var(--color-foreground)}.sdi__alert-issue{font-size:11px;color:color-mix(in oklab,var(--color-warning) 80%,var(--color-foreground));word-break:break-word;overflow-wrap:break-word}.sdi__alert-action{font-size:11px;color:var(--sdi-accent);font-style:italic;word-break:break-word;overflow-wrap:break-word}.sdi__grade-alerts{display:flex;flex-direction:column;gap:6px}.sdi__grade-alert-item{background:color-mix(in oklab,var(--color-status-danger) 6%,transparent);border:1px solid color-mix(in oklab,var(--color-status-danger) 16%,transparent);border-radius:var(--radius-md);padding:8px 10px;display:flex;flex-direction:column;gap:2px}.sdi__grade-alert-top{display:flex;align-items:center;gap:6px}.sdi__grade-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:var(--radius-full);font-variant-numeric:tabular-nums;letter-spacing:.01em}.sdi__grade-badge--danger{color:var(--color-status-danger);background:color-mix(in oklab,var(--color-status-danger) 12%,transparent)}.sdi__grade-badge--ok{color:var(--color-status-success);background:color-mix(in oklab,var(--color-status-success) 12%,transparent)}.sdi__trend-icon{font-size:14px}.sdi__trend-icon--improving{color:var(--color-status-success)}.sdi__trend-icon--declining{color:var(--color-status-danger)}.sdi__highlights{display:flex;flex-direction:column;gap:6px}.sdi__highlight-item{background:color-mix(in oklab,var(--color-status-success) 8%,transparent);border:1px solid color-mix(in oklab,var(--color-status-success) 16%,transparent);border-radius:var(--radius-md);padding:8px 10px;display:flex;flex-direction:column;gap:2px}.sdi__highlight-name{font-size:12px;font-weight:600;color:var(--color-foreground)}.sdi__highlight-text{font-size:11px;color:color-mix(in oklab,var(--color-status-success) 80%,var(--color-foreground));word-break:break-word;overflow-wrap:break-word}.sdi__tags{display:flex;flex-wrap:wrap;gap:6px;overflow:hidden}.sdi__tag{font-size:11px;padding:3px 9px;background:color-mix(in oklab,var(--sdi-accent) 12%,transparent);color:var(--sdi-accent);border-radius:var(--radius-full);white-space:normal;word-break:break-word;max-width:100%;letter-spacing:.005em}.sdi--compact .sdi__icon{width:28px;height:28px;border-radius:var(--radius-sm)}.sdi--compact .sdi__icon svg{font-size:15px}.sdi--compact .sdi__title{font-size:12px}.sdi--compact .sdi__body{gap:8px;padding-bottom:10px}.sdi--compact .sdi__section-header,.sdi--compact .sdi__list{font-size:11px}.sdi--compact .sdi__alert-item,.sdi--compact .sdi__highlight-item{padding:6px 8px}.gb-content{--padding-top: 0;--padding-start: 0;--padding-end: 0;--padding-bottom: 100px}.gb-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-4xl);min-height:200px}.gb-hero{position:relative;background:var(--color-card);border-bottom:1px solid var(--color-border);padding:var(--space-md) var(--space-lg) 0;padding-top:max(var(--space-md),env(safe-area-inset-top))}.gb-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--subject-color, var(--color-primary))}.gb-hero--compact{padding:var(--space-md) var(--space-lg) 0;padding-top:max(var(--space-md),env(safe-area-inset-top))}.gb-hero__nav{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1;gap:var(--space-sm);margin-bottom:var(--space-md)}.gb-hero__back-btn,.gb-hero__settings-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;transition:background .16s var(--ease-out),color .16s var(--ease-out)}.gb-hero__back-btn:hover,.gb-hero__settings-btn:hover{background:var(--color-surface-subtle);color:var(--color-foreground)}.gb-hero__center{flex:1;text-align:center;min-width:0;padding:0 var(--space-xs)}.gb-hero__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-foreground);margin:0;letter-spacing:-.015em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gb-hero__meta{display:flex;align-items:center;justify-content:center;gap:6px;margin:2px 0 0;font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.005em}.gb-hero__meta-sep{color:var(--color-text-tertiary);opacity:.7}.gb-hero__meta-btn{background:transparent;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:none;border-bottom:1px dashed transparent;transition:border-color .16s var(--ease-out),color .16s var(--ease-out)}.gb-hero__meta-btn:hover{color:var(--color-foreground);border-bottom-color:var(--color-text-tertiary)}.gb-schedule-popover{--width: auto;--min-width: 160px;--max-width: 220px}.gb-schedule-popover::part(content){border-radius:12px;box-shadow:0 4px 16px #0000001f}.gb-schedule-detail{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.gb-schedule-detail__row{display:flex;justify-content:space-between;align-items:center;gap:16px}.gb-schedule-detail__day{font-weight:700;font-size:14px;color:var(--color-text)}.gb-schedule-detail__time{font-size:13px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.gb-tabs{margin:0;width:100%;padding-bottom:var(--space-sm);--background: transparent}.gb-tabs button{--padding-start: 8px;--padding-end: 8px;--padding-top: 8px;--padding-bottom: 8px;min-width:0;min-height:34px;letter-spacing:-.005em}.gb-tabs button span{font-size:13px;font-weight:600;margin:0}.gb-overview{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.gb-day-insight{margin-bottom:-4px}.gb-prep-section{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.gb-perf-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--space-lg)}.gb-perf-card__title{font-size:11px;font-weight:600;color:var(--color-muted-foreground);margin-bottom:var(--space-md)}.gb-actions{display:flex;gap:var(--space-sm)}.gb-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:12px 16px;border:none;border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast);background:var(--color-primary);color:#fff}.gb-action-btn svg{font-size:18px;flex-shrink:0}.gb-action-btn:active{opacity:.85}.gb-action-btn--alt{background:#15665e14;color:var(--color-primary);border:1px solid rgba(21,102,94,.15)}.gb-action-btn--alt:active{background:#15665e24}.gb-alerts{display:flex;flex-direction:column;gap:var(--space-xs)}.gb-alert-row{--gb-alert-color: var(--color-text-secondary);display:flex;align-items:center;gap:var(--space-md);padding:10px var(--space-md);border-radius:var(--radius-md);cursor:pointer;border:1px solid color-mix(in oklab,var(--gb-alert-color) 18%,transparent);background:color-mix(in oklab,var(--gb-alert-color) 6%,var(--color-card));font-family:inherit;width:100%;text-align:left;transition:border-color .18s var(--ease-out),background .18s var(--ease-out),transform .16s var(--ease-out)}.gb-alert-row:hover{border-color:color-mix(in oklab,var(--gb-alert-color) 32%,transparent)}.gb-alert-row:active{transform:scale(.997)}.gb-alert-row--warning{--gb-alert-color: var(--color-warning)}.gb-alert-row--info{--gb-alert-color: var(--color-status-info)}.gb-alert-row__badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:var(--radius-full);font-size:11px;font-weight:700;color:#fff;background:var(--gb-alert-color);flex-shrink:0;padding:0 6px;font-variant-numeric:tabular-nums;letter-spacing:.01em}.gb-alert-row__text{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground);letter-spacing:-.005em}.gb-alert-row__arrow{color:var(--color-text-tertiary);flex-shrink:0;transition:transform .18s var(--ease-out),color .18s var(--ease-out)}.gb-alert-row:hover .gb-alert-row__arrow{color:var(--gb-alert-color);transform:translate(2px)}.gb-resources{display:flex;flex-direction:column;gap:4px}.gb-resources__title{margin:var(--space-md) 4px var(--space-xs);font-size:11px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:.06em;text-transform:uppercase}.gb-resource-row{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:10px var(--space-md);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .18s var(--ease-out),background .18s var(--ease-out),transform .16s var(--ease-out)}.gb-resource-row:hover{border-color:color-mix(in oklab,var(--color-primary) 24%,var(--color-border));background:var(--color-surface-subtle)}.gb-resource-row:active{transform:scale(.997)}.gb-resource-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.gb-resource-row__icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary);flex-shrink:0;transition:background .18s var(--ease-out)}.gb-resource-row:hover .gb-resource-row__icon{background:color-mix(in oklab,var(--color-primary) 16%,transparent)}.gb-resource-row__label{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gb-resource-row__count{font-size:11px;font-weight:700;color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 12%,transparent);padding:2px 8px;border-radius:var(--radius-full);font-variant-numeric:tabular-nums;letter-spacing:.01em;flex-shrink:0}.gb-resource-row__arrow{color:var(--color-text-tertiary);flex-shrink:0;transition:transform .18s var(--ease-out),color .18s var(--ease-out)}.gb-resource-row:hover .gb-resource-row__arrow{color:var(--color-primary);transform:translate(2px)}.gb-overview .tpc{position:relative;width:100%;padding:var(--space-lg) var(--space-lg) var(--space-md);margin:0;border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),transform .16s var(--ease-out)}.gb-overview .tpc:hover{border-color:color-mix(in oklab,var(--subject-color, var(--color-primary)) 30%,var(--color-border));box-shadow:var(--shadow-sm)}.gb-overview .tpc:active{transform:scale(.997)}.gb-overview .tpc__row1{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-md)}.gb-overview .tpc__pct{font-size:var(--font-size-2xl);font-weight:700;color:var(--subject-color, var(--color-primary));line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.gb-overview .tpc__title{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);letter-spacing:-.005em}.gb-overview .tpc__delete{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-4px -4px -4px 0;border:0;background:transparent;color:var(--color-text-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:background .16s var(--ease-out),color .16s var(--ease-out);flex-shrink:0;opacity:.5}.gb-overview .tpc__delete:hover{opacity:1;background:color-mix(in oklab,var(--color-destructive) 8%,transparent);color:var(--color-destructive)}.gb-overview .tpc__bar{height:6px;border-radius:var(--radius-full);background:color-mix(in oklab,var(--subject-color, var(--color-primary)) 10%,transparent);overflow:hidden;margin-bottom:var(--space-sm)}.gb-overview .tpc__bar-fill{height:100%;border-radius:var(--radius-full);background:var(--subject-color, var(--color-primary));transition:width .48s var(--ease-out)}.gb-overview .tpc__tri-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-md)}.gb-overview .tpc__tri{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);background:color-mix(in oklab,currentColor 10%,transparent);letter-spacing:.005em;white-space:nowrap;font-variant-numeric:tabular-nums}.gb-overview .tpc__tri-sep{display:none}.gb-overview .tpc__footer{display:flex;align-items:center;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.gb-overview .tpc__current{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.005em}.gb-overview .tpc__pace{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--radius-full);flex-shrink:0;font-variant-numeric:tabular-nums;letter-spacing:.005em}.gb-overview .tpc__pace--ahead{background:color-mix(in oklab,var(--color-status-success) 12%,transparent);color:var(--color-status-success)}.gb-overview .tpc__pace--behind{background:color-mix(in oklab,var(--color-status-danger) 12%,transparent);color:var(--color-status-danger)}.gb-overview .tpc__compact-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;flex-shrink:0;font-size:11px;font-weight:600;background:var(--subject-color, var(--color-primary));color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;transition:filter .16s var(--ease-out),transform .16s var(--ease-out);font-family:inherit}.gb-overview .tpc__compact-btn:hover{filter:brightness(1.06)}.gb-overview .tpc__compact-btn:active{transform:scale(.97)}.gb-nav-section-title{padding:8px 16px 4px;font-size:11px;font-weight:600;color:var(--color-muted-foreground)}.gb-comments-section__count{font-size:11px;font-weight:700;color:var(--color-primary);background:#15665e1f;padding:2px 8px;border-radius:9999px;margin-left:auto;font-variant-numeric:tabular-nums}.gb-comments-section{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden}.gb-comments-section__header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.gb-comments-section__header--toggle{width:100%;background:none;border:none;cursor:pointer;font:inherit}.gb-comments-section__chevron{margin-left:auto;font-size:18px;color:var(--color-text-secondary, #888);transition:transform .2s ease;transform:rotate(-90deg)}.gb-comments-section__chevron--open{transform:rotate(0)}.gb-comments-section__icon{font-size:20px;color:var(--color-primary);flex-shrink:0}.gb-comments-section__title{flex:1;font-size:var(--font-size-base);font-weight:600;color:var(--color-foreground)}.gb-comments-section__input-row{display:flex;align-items:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.gb-comments-section__input-row .mention-textarea{flex:1;min-width:0}.gb-comments-section__input{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-family:inherit;background:var(--color-background);color:var(--color-foreground);outline:none;transition:border-color var(--transition-fast)}.gb-comments-section__input:focus{border-color:var(--color-primary)}.gb-comments-section__input::placeholder{color:var(--color-text-muted)}.gb-comments-section__send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:18px;cursor:pointer;flex-shrink:0;transition:opacity var(--transition-fast)}.gb-comments-section__send-btn:disabled{opacity:.4;cursor:default}.gb-comments-section__send-btn svg{width:18px;height:18px;color:#fff}.gb-comments-section__loading{display:flex;justify-content:center;padding:var(--space-lg)}.gb-comments-section__empty{padding:var(--space-lg);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.gb-comments-section__list{max-height:300px;overflow-y:auto}.gb-comment-item{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.gb-comment-item:last-child{border-bottom:none}.gb-comment-item__text{font-size:var(--font-size-sm);color:var(--color-foreground);line-height:1.5;white-space:pre-wrap}.gb-comment-item__meta{font-size:11px;color:var(--color-text-muted);margin-top:4px}.gb-subject-cards{display:flex;flex-direction:column;gap:var(--space-sm)}.gb-overview-nav{display:flex;gap:var(--space-sm)}.gb-overview-nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:var(--space-md) var(--space-lg);background:var(--color-surface, #fff);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);font-size:13px;font-weight:var(--font-weight-semibold, 600);color:var(--color-text-primary);cursor:pointer;font-family:inherit;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.gb-overview-nav-btn:active{transform:scale(.98)}.gb-overview-nav-btn svg{font-size:17px;color:var(--color-primary)}.gb-delete-link{display:flex;justify-content:center;padding:var(--space-sm) 0}.gb-delete-link__btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-tertiary, #94a3b8);cursor:pointer;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:color var(--transition-fast)}.gb-delete-link__btn:active{color:var(--color-danger)}.gb-delete-link__btn svg{font-size:15px}.gb-empty-overview{padding:var(--space-2xl) 0}.gb-week-cal{background:var(--color-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-md) var(--space-md) var(--space-sm)}.gb-week-cal__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}.gb-week-cal__nav-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.gb-week-cal__nav-btn{width:28px;height:28px;background:transparent;border:0;border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:background .16s var(--ease-out),color .16s var(--ease-out)}.gb-week-cal__nav-btn:hover{background:var(--color-surface-subtle);color:var(--color-foreground)}.gb-week-cal__nav-btn:active{transform:scale(.94)}.gb-week-cal__range{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--color-foreground);letter-spacing:-.01em;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.gb-week-cal__today-btn{background:transparent;border:1px solid var(--color-border-strong, var(--color-border));color:var(--color-text-secondary);font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;padding:3px 9px;border-radius:var(--radius-full);letter-spacing:.01em;transition:all .16s var(--ease-out)}.gb-week-cal__today-btn:hover{color:var(--color-foreground);border-color:color-mix(in oklab,var(--color-foreground) 16%,transparent)}.gb-week-cal__days{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:var(--space-md);padding:4px 0 6px;border-bottom:1px solid var(--color-border)}.gb-week-cal__day{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0 12px;background:transparent;border:0;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;transition:background .16s var(--ease-out)}.gb-week-cal__day:hover{background:var(--color-surface-subtle)}.gb-week-cal__day-name{font-size:10px;font-weight:600;color:var(--color-text-tertiary);letter-spacing:.04em;text-transform:uppercase}.gb-week-cal__day-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);border-radius:var(--radius-full);font-variant-numeric:tabular-nums;letter-spacing:-.01em;transition:background .2s var(--ease-out),color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.gb-week-cal__day--selected .gb-week-cal__day-num{background:color-mix(in oklab,var(--color-primary) 14%,transparent);color:var(--color-primary)}.gb-week-cal__day--today .gb-week-cal__day-num{background:var(--color-primary);color:#fff;box-shadow:0 1px 3px color-mix(in oklab,var(--color-primary) 30%,transparent)}.gb-week-cal__day--today.gb-week-cal__day--selected .gb-week-cal__day-num{background:var(--color-primary);color:#fff}.gb-week-cal__day--selected .gb-week-cal__day-name{color:var(--color-primary)}.gb-week-cal__day-dot{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:3px;height:3px;background:var(--color-primary);border-radius:var(--radius-full);opacity:.7}.gb-week-cal__day--today .gb-week-cal__day-dot{background:var(--color-primary);opacity:1}.gb-week-cal__events{display:flex;flex-direction:column;gap:6px;padding:0}.gb-week-cal__loading{display:flex;justify-content:center;padding:var(--space-md)}.gb-week-cal__empty{padding:var(--space-md) 2px;font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic}.gb-week-cal__event{display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;overflow:hidden;transition:border-color .18s var(--ease-out),background .18s var(--ease-out)}.gb-week-cal__event:hover{border-color:var(--color-border-strong, var(--color-border));background:var(--color-surface-subtle)}.gb-week-cal__event:active{opacity:.8}.gb-week-cal__event-time{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-secondary);background:var(--color-surface-subtle);border-radius:var(--radius-md);flex-shrink:0}.gb-week-cal__event-time--class_session{color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 10%,transparent)}.gb-week-cal__event-time--custom{color:var(--color-status-info);background:color-mix(in oklab,var(--color-status-info) 10%,transparent)}.gb-week-cal__event-time--tutoring{color:var(--color-tertiary);background:color-mix(in oklab,var(--color-tertiary) 10%,transparent)}.gb-week-cal__event-time--exam{color:var(--color-warning);background:color-mix(in oklab,var(--color-warning) 10%,transparent)}.gb-week-cal__event-time svg{font-size:16px}.gb-week-cal__event-content{flex:1;min-width:0}.gb-week-cal__event-title{font-size:var(--font-size-xs);font-weight:600;color:var(--color-foreground);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;display:block}.gb-week-cal__event-arrow{font-size:14px;color:var(--color-text-muted);flex-shrink:0}.gb-week-cal__card{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:var(--radius-md);background:var(--color-card);border:1px solid var(--color-border);cursor:pointer;overflow:hidden;transition:border-color .18s var(--ease-out),background .18s var(--ease-out)}.gb-week-cal__card:hover{border-color:var(--color-border-strong, var(--color-border));background:var(--color-surface-subtle)}.gb-week-cal__card:active{transform:scale(.997)}.gb-week-cal__card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.gb-week-cal__card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);line-height:1.35;flex:1;min-width:0;letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gb-week-cal__card-time{font-size:11px;font-weight:600;color:var(--color-primary);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums;letter-spacing:.01em}.gb-week-cal__card-focus{font-size:11px;color:var(--color-text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.gb-week-cal__card-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}.gb-week-cal__card-tag{font-size:10px;padding:2px 7px;border-radius:var(--radius-full);background:color-mix(in oklab,var(--color-primary) 8%,transparent);color:var(--color-primary);font-weight:500;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis;letter-spacing:.005em}.gb-week-cal__card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.gb-week-cal__card-action{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;color:var(--color-primary);background:transparent;border:1px solid color-mix(in oklab,var(--color-primary) 25%,transparent);border-radius:var(--radius-full);cursor:pointer;font-family:inherit;transition:background .16s var(--ease-out),border-color .16s var(--ease-out)}.gb-week-cal__card-action:hover{background:color-mix(in oklab,var(--color-primary) 8%,transparent);border-color:color-mix(in oklab,var(--color-primary) 40%,transparent)}.gb-week-cal__card-action:active{transform:scale(.97)}.gb-week-cal__card-action svg{font-size:13px}.gb-week-cal__card--unplanned{background:var(--color-surface-subtle);border-style:dashed;border-color:var(--color-border-strong, var(--color-border))}.gb-week-cal__card-preview{display:flex;justify-content:space-between;align-items:center}.gb-week-cal__card-preview-info{font-size:11px;font-weight:500;color:var(--color-text-secondary);opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gb-week-cal__event-focus{font-size:10px;color:var(--color-text-secondary);font-style:italic;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.gb-week-cal__event-kp{display:flex;gap:3px;flex-wrap:wrap;margin-top:2px;max-width:100%;overflow:hidden;max-height:18px}.gb-week-cal__event-kp-tag{font-size:8px;padding:1px 5px;border-radius:100px;background:#15665e12;color:var(--color-primary);font-weight:500;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis}.gb-week-cal__exam-status{font-size:10px;font-weight:600;padding:1px 8px;border-radius:var(--radius-full);flex-shrink:0}.gb-week-cal__exam-status--assigned{background:#d977061a;color:#d97706}.gb-week-cal__exam-status--corrected{background:#0596691a;color:#059669}.gb-week-cal__exam-status--uploaded{background:#64748b1a;color:var(--color-text-secondary)}.gb-grades{padding:var(--space-lg)}.gb-grades-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.gb-grades-toolbar button{--border-radius: var(--radius-md);font-size:var(--font-size-sm)}.gb-roster{padding:var(--space-lg)}.gb-roster-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-sm)}.gb-roster-toolbar button{--border-radius: var(--radius-md);font-size:var(--font-size-sm)}.gb-roster-search{--background: var(--color-surface);--border-radius: var(--radius-md);--box-shadow: var(--shadow-xs);padding:0;margin:0 0 var(--space-md);border:1px solid var(--color-border-strong)}.gb-roster-list{padding:0}.gb-student-item{--background: var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid var(--color-border);margin-bottom:var(--space-sm);overflow:hidden;--padding-start: var(--space-md);--padding-end: var(--space-md);--inner-padding-end: 0}.gb-student-item::part(native){background:var(--color-surface)}.gb-student-avatar{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-sm);color:#fff;text-transform:uppercase;flex-shrink:0}.gb-student-name{font-weight:600;font-size:var(--font-size-base);color:var(--color-foreground);margin:0}.gb-student-code{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-family:monospace;margin:2px 0 0}.gb-student-arrow{font-size:16px;color:var(--color-text-muted)}.auto-code-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;margin:var(--space-sm) 0 0;font-style:italic}.student-inputs-list{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.student-input-row{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-muted);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm)}.student-input-number{width:24px;height:24px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700;flex-shrink:0}.student-input-field{flex:1;--padding-start: var(--space-sm);--padding-end: var(--space-sm);--background: transparent}.student-input-remove{background:none;border:none;color:var(--color-muted-foreground);font-size:1.3rem;padding:var(--space-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.student-input-remove:hover,.student-input-remove:active{color:var(--color-danger)}.add-row-btn{margin-bottom:var(--space-sm)}.add-students-progress{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);font-size:var(--font-size-sm);color:var(--color-muted-foreground)}.add-students-progress div{width:100%;height:4px;border-radius:var(--radius-sm)}@media (prefers-color-scheme: dark){.gb-week-cal__card--unplanned{background:#ffffff05;border-color:#ffffff0f}.gb-action-btn{background:#2c9e92}.gb-action-btn--alt{background:#2c9e921f;color:#2c9e92;border-color:#2c9e9233}.gb-content--subject .gb-action-btn--alt{background:color-mix(in srgb,var(--subject-color) 12%,transparent);color:color-mix(in srgb,var(--subject-color) 80%,white);border-color:color-mix(in srgb,var(--subject-color) 20%,transparent)}.gb-alert-row--warning{background:#d977061f}.gb-alert-row--info{background:#6366f11a}.gb-perf-card{background:var(--color-surface);border-color:#ffffff14}.gb-overview-nav-btn{background:var(--color-surface);box-shadow:none;border:1px solid rgba(255,255,255,.06);color:#e2e8f0}.gb-roster-search{--background: var(--color-surface);border-color:#ffffff14}.gb-student-item{--background: var(--color-surface) !important;border-color:#ffffff14}.gb-student-item::part(native){background:var(--color-surface)!important}.gb-student-arrow{color:#52525b}.modal-sheet{background:var(--color-surface)}.student-input-row{background:#ffffff0d}.gb-week-cal{background:var(--color-surface);border-color:#ffffff14}.gb-week-cal__nav-btn{background:var(--color-card);border-color:#ffffff0f}.gb-week-cal__nav-btn:active{background:#ffffff1a}.gb-week-cal__day{background:#ffffff0a}.gb-week-cal__day--selected{background:#15665e33;border-color:var(--color-primary)}.gb-week-cal__day--today{background:var(--color-primary);border-color:var(--color-primary)}.gb-week-cal__event{background:#ffffff0a}}@media (max-width: 380px){.gb-hero__title{font-size:var(--font-size-base)}.gb-action-btn{padding:10px 12px;font-size:12px}.gb-action-btn svg{font-size:16px}}@media (min-width: 992px){.gb-hero{padding:var(--space-sm) var(--space-2xl) 0}.gb-overview,.gb-grades,.gb-roster,.gb-subject-cards,.gb-overview-nav{max-width:1280px;margin-left:auto;margin-right:auto}.gb-actions{max-width:480px}.gb-alerts{display:grid;grid-template-columns:repeat(2,1fr)}.gb-student-item:hover{border-color:var(--color-primary)}.gb-overview-nav-btn:hover{background:var(--color-border)}}.gb-content--subject .gb-tabs button{--indicator-color: var(--subject-color);--color-checked: #ffffff}.gb-content--subject .gb-action-btn{background:var(--subject-color)}.gb-content--subject .gb-action-btn--alt{background:color-mix(in srgb,var(--subject-color) 8%,transparent);color:var(--subject-color);border-color:color-mix(in srgb,var(--subject-color) 15%,transparent)}.gb-content--subject .gb-action-btn--alt:active{background:color-mix(in srgb,var(--subject-color) 14%,transparent)}.gb-content--subject .gb-resource-row:focus-visible{outline-color:var(--subject-color)}.gb-content--subject .gb-overview-nav-btn svg{color:var(--subject-color)}.gb-content--subject .gb-roster-search{border-color:color-mix(in srgb,var(--subject-color) 20%,transparent)}.gb-content--subject .gb-roster-search:focus-within{border-color:var(--subject-color)}.gb-content--subject .gb-student-avatar{background:var(--subject-color)!important}.gb-content--subject .gb-comments-section__icon{color:var(--subject-color)}.gb-content--subject .gb-comments-section__send-btn{background:var(--subject-color)}.gb-content--subject .gb-week-cal__day--selected .gb-week-cal__day-num{background:color-mix(in oklab,var(--subject-color) 16%,transparent);color:var(--subject-color)}.gb-content--subject .gb-week-cal__day--selected .gb-week-cal__day-name{color:var(--subject-color)}.gb-content--subject .gb-week-cal__day--today .gb-week-cal__day-num{background:var(--subject-color);color:#fff;box-shadow:0 1px 3px color-mix(in oklab,var(--subject-color) 35%,transparent)}.gb-content--subject,.gb-content--subject .gb-grades-toolbar button,.gb-content--subject .gb-roster-toolbar button{--color-primary: var(--subject-color)}@media (min-width: 992px){.gb-content--subject .gb-student-item:hover{border-color:var(--subject-color)}}.gb-student-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.gb-cal-banner{display:flex;align-items:center;gap:8px;margin:8px 16px;padding:10px 14px;border-radius:10px;border:1.5px solid rgba(245,158,11,.25);background:#f59e0b14;color:#d97706;font-family:inherit;font-size:12px;font-weight:500;line-height:1.4;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;transition:background .15s}.gb-cal-banner:active{background:#f59e0b24}.gb-cal-banner svg:first-child{font-size:18px;flex-shrink:0}.gb-cal-banner svg:last-child{font-size:14px;flex-shrink:0;margin-left:auto}.gb-cal-banner span{flex:1}@media (prefers-color-scheme: dark){.gb-cal-banner{background:#f59e0b1f;border-color:#f59e0b4d;color:#fbbf24}}.gb-progress-card{display:flex;flex-direction:column;gap:6px;margin:0 16px 12px;padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:12px;box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;width:calc(100% - 32px);font-family:inherit;-webkit-tap-highlight-color:transparent}.gb-progress-card:active{transform:scale(.98)}.gb-progress-card__header{display:flex;align-items:center;gap:8px}.gb-progress-card__header svg{font-size:18px;color:var(--color-primary)}.gb-progress-card__title{font-size:13px;font-weight:600;color:var(--color-foreground);flex:1}.gb-progress-card__pace{font-size:12px;font-weight:700}.gb-progress-card__pace--ahead{color:#059669}.gb-progress-card__pace--behind{color:#dc2626}.gb-progress-card div{--border-radius: 4px;height:6px}.gb-progress-card__footer{display:flex;justify-content:space-between;font-size:11px;color:var(--color-text-secondary)}.gb-progress-card__current{font-weight:500;color:var(--color-primary)}@media (prefers-color-scheme: dark){.gb-progress-card{background:var(--color-surface);border-color:#ffffff14}}.sf-content{padding-bottom:var(--space-3xl)}.sf-id{display:flex;align-items:center;gap:12px;padding:16px 14px 12px}.sf-id__avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 2px 8px #0f172a14}.sf-id__info{flex:1;min-width:0}.sf-id__name{margin:0;font-size:18px;font-weight:700;color:var(--color-foreground);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-id__code{margin:1px 0 0;font-size:11px;color:var(--color-text-tertiary, #94A3B8);font-family:var(--font-mono, ui-monospace, SFMono-Regular, monospace)}.sf-id__subject{flex-shrink:0;height:30px;max-width:130px;font-size:12px;font-weight:600;border-radius:999px;padding:0 12px}.sf-hero{position:relative;margin:0 14px 12px;padding:14px 16px;background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E5E7EB);border-radius:14px;display:flex;align-items:center;gap:14px;overflow:hidden}.sf-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-text-tertiary, #94A3B8)}.sf-hero--excellent:before{background:#10b981}.sf-hero--good:before{background:#3b82f6}.sf-hero--borderline:before{background:#f59e0b}.sf-hero--fail:before{background:#ef4444}.sf-hero__avg-block{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex-shrink:0}.sf-hero__avg-line{display:flex;align-items:baseline;gap:2px;line-height:1}.sf-hero__avg-value{font-size:36px;font-weight:800;color:var(--color-foreground);font-feature-settings:"tnum";letter-spacing:-.02em}.sf-hero__avg-max{font-size:14px;font-weight:600;color:var(--color-text-tertiary, #94A3B8)}.sf-hero__trend-icon{margin-left:4px;position:relative;top:-2px}.sf-hero__trend-icon--improving{color:#10b981}.sf-hero__trend-icon--declining{color:#ef4444}.sf-hero__trend-icon--stable{color:#94a3b8}.sf-hero__avg-meta{display:flex;align-items:center;gap:6px}.sf-hero__bucket{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.02em}.sf-hero__bucket--excellent{background:#10b98124;color:#047857}.sf-hero__bucket--good{background:#3b82f624;color:#1d4ed8}.sf-hero__bucket--borderline{background:#f59e0b29;color:#b45309}.sf-hero__bucket--fail{background:#ef444424;color:#b91c1c}.sf-hero__bucket--empty{background:#94a3b829;color:#64748b}.sf-hero__spark-wrap{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px}.sf-spark{display:block}.sf-hero__spark-label{font-size:9.5px;font-weight:600;color:var(--color-text-tertiary, #94A3B8);letter-spacing:.04em;text-transform:uppercase}.sf-hero__metrics{display:flex;flex-direction:column;gap:4px;align-items:flex-end;flex-shrink:0;padding-left:12px;border-left:1px solid var(--color-border)}.sf-hero__metric{display:flex;align-items:baseline;gap:5px}.sf-hero__metric-value{font-size:15px;font-weight:700;color:var(--color-foreground);font-feature-settings:"tnum";line-height:1}.sf-hero__metric-value--alert{color:#dc2626}.sf-hero__metric-label{font-size:10.5px;color:var(--color-text-tertiary, #94A3B8);font-weight:500}@media (max-width: 360px){.sf-hero__spark-wrap{display:none}}.sf-alerts{list-style:none;margin:0 14px 12px;padding:0;display:flex;flex-direction:column;gap:4px}.sf-alert{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;font-size:12.5px;line-height:1.3;color:var(--color-foreground)}.sf-alert--danger{background:#ef444414}.sf-alert--warn{background:#f59e0b17}.sf-alert--info{background:#3b82f614}.sf-alert__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sf-alert--danger .sf-alert__dot{background:#dc2626}.sf-alert--warn .sf-alert__dot{background:#f59e0b}.sf-alert--info .sf-alert__dot{background:#3b82f6}.sf-alert__text{flex:1}.sf-weak{display:flex;flex-wrap:wrap;gap:4px;margin:0 14px 12px}.sf-weak__tag{display:inline-flex;align-items:center;gap:4px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);padding:2px 8px;border-radius:999px;font-size:11px;color:#b45309}.sf-weak__count{font-weight:700;background:#f59e0b38;padding:0 5px;border-radius:999px;font-size:9.5px}.sf-actions{display:flex;gap:6px;margin:0 14px 14px}.sf-action{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 10px;background:var(--color-surface, #FFFFFF);border:1px solid var(--color-border, #E5E7EB);border-radius:8px;color:var(--color-foreground);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,transform .05s ease}.sf-action:hover{background:var(--color-bg-subtle, #F3F4F6)}.sf-action:active{transform:scale(.98)}.sf-action:disabled{opacity:.5;pointer-events:none}.sf-action--primary{background:var(--color-primary, #15665E);border-color:var(--color-primary, #15665E);color:#fff}.sf-action--primary:hover{background:var(--color-primary, #15665E);filter:brightness(1.05)}.sf-action--small{flex:0 0 auto;padding:5px 10px;font-size:11px}.sf-ai-summary{margin:0 14px 12px;background:var(--color-surface);border:1px solid rgba(108,58,237,.18);border-radius:10px;overflow:hidden}.sf-ai-summary__content{padding:12px 14px;font-size:12.5px;line-height:1.5}.sf-ai-summary__content p{margin:0 0 6px}.sf-ai-summary__content p:last-child{margin-bottom:0}.sf-ai-summary__content strong{color:var(--color-primary)}.sf-ai-summary__loading{display:flex;align-items:center;gap:8px;padding:12px 14px;font-size:12.5px;color:var(--color-text-tertiary)}.sf-list{margin:0 14px 12px}.sf-list__header{display:flex;align-items:center;justify-content:space-between;padding:0 2px 6px;background:none;border:none;width:100%;font-family:inherit;text-align:left}.sf-list__header--clickable{cursor:pointer}.sf-list__title{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-secondary, #6B7280)}.sf-list__count{font-size:10.5px;font-weight:600;color:var(--color-text-tertiary, #94A3B8);font-feature-settings:"tnum"}.sf-list__count--alert{color:#dc2626}.sf-list__items{display:flex;flex-direction:column;gap:4px}.sf-list__empty{text-align:center;font-size:12px;color:var(--color-text-tertiary);padding:12px 0;margin:0}.sf-list__empty-with-action{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:8px}.sf-list__empty-with-action .sf-list__empty{padding:0;text-align:left}.sf-list__link{display:block;width:100%;margin-top:6px;padding:5px;background:none;border:none;font-family:inherit;font-size:11.5px;font-weight:600;color:var(--color-primary);cursor:pointer;text-align:center}.sf-row{position:relative;display:flex;align-items:center;gap:8px;padding:9px 12px 9px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-left-width:3px;border-radius:8px;cursor:pointer;font-family:inherit;text-align:left;width:100%;overflow:hidden;transition:background .12s ease,border-color .12s ease}.sf-row:hover{background:var(--color-bg-subtle, #F3F4F6)}.sf-row:active{transform:scale(.995)}.sf-row.sf-row--excellent{border-left-color:#10b981}.sf-row.sf-row--good{border-left-color:#3b82f6}.sf-row.sf-row--borderline{border-left-color:#f59e0b}.sf-row.sf-row--fail{border-left-color:#ef4444}.sf-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.sf-row__name{font-size:13px;font-weight:600;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.sf-row__meta{display:flex;align-items:center;gap:6px;font-size:10.5px;color:var(--color-text-tertiary)}.sf-row__subject{display:inline-block;padding:0 6px;background:#0f172a0f;border-radius:999px;font-weight:500;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-row__date{font-feature-settings:"tnum"}.sf-row__bar{display:none}.sf-row__right{flex-shrink:0;display:flex;align-items:center}.sf-grade{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;font-feature-settings:"tnum"}.sf-grade--excellent{background:#10b98124;color:#047857}.sf-grade--good{background:#3b82f624;color:#1d4ed8}.sf-grade--borderline{background:#f59e0b29;color:#b45309}.sf-grade--fail{background:#ef444424;color:#b91c1c}.sf-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600}.sf-tag--info{background:#3b82f61f;color:#1d4ed8}.sf-tag--warn{background:#f59e0b29;color:#b45309}.sf-tag--muted{background:#94a3b829;color:#64748b}.sf-att-bar{display:flex;width:100%;height:6px;border-radius:999px;background:#94a3b82e;overflow:hidden;margin:2px 0 8px}.sf-att-bar__seg{height:100%}.sf-att-bar__seg--present{background:#10b981}.sf-att-bar__seg--late{background:#f59e0b}.sf-att-bar__seg--justified{background:#3b82f6}.sf-att-bar__seg--absent{background:#ef4444}.sf-att-legend{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.sf-att-leg{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;color:var(--color-text-secondary)}.sf-att-leg__dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sf-att-leg--present .sf-att-leg__dot{background:#10b981}.sf-att-leg--late .sf-att-leg__dot{background:#f59e0b}.sf-att-leg--justified .sf-att-leg__dot{background:#3b82f6}.sf-att-leg--absent .sf-att-leg__dot{background:#ef4444}.sf-att-row{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.sf-att-row__date{flex:1;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-foreground);font-feature-settings:"tnum"}.sf-att-row__subject{font-size:10.5px;color:var(--color-text-tertiary);font-feature-settings:normal}.sf-att-tag{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:600;flex-shrink:0}.sf-att-tag--present{background:#10b9811f;color:#047857}.sf-att-tag--absent{background:#ef44441f;color:#b91c1c}.sf-att-tag--late{background:#f59e0b24;color:#b45309}.sf-att-tag--justified{background:#3b82f61f;color:#1d4ed8}.sf-justify-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-bg-subtle, #F3F4F6);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0}.sf-justify-btn--has-doc{background:#3b82f61f;border-color:#3b82f64d;color:#1d4ed8}.sf-comment-input-inline{margin-bottom:6px}.sf-comment-input-inline__actions{display:flex;justify-content:flex-end;margin-top:6px}.sf-comment{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:8px;padding:8px 12px}.sf-comment__date{display:block;font-size:10.5px;color:var(--color-text-tertiary);font-feature-settings:"tnum";margin-bottom:1px}.sf-comment__text{margin:0;font-size:12.5px;line-height:1.4;color:var(--color-foreground)}.sf-justification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);z-index:9999;color:#fff;font-size:13px;font-weight:600}.sf-event-form{display:flex;flex-direction:column;gap:var(--space-lg)}.sf-event-form__field{display:flex;flex-direction:column;gap:var(--space-xs)}.sf-event-form__field--half{flex:1}.sf-event-form__row{display:flex;gap:var(--space-md)}.sf-event-form__label{font-size:11px;font-weight:600;color:var(--color-text-secondary)}.sf-mentions-list{display:flex;flex-direction:column;gap:6px}.sf-mention-item{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:10px;padding:10px 14px}.sf-mention-item__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.sf-mention-item__source{font-size:11px;font-weight:600;color:var(--color-primary)}.sf-mention-item__date{font-size:11px;color:var(--color-text-tertiary, #94A3B8);font-feature-settings:"tnum"}.sf-mention-item__text{margin:2px 0 0;font-size:13px;line-height:1.4;color:var(--color-foreground)}.sf-mention-item__class{display:inline-block;margin-top:4px;font-size:11px;font-weight:500;color:var(--color-text-tertiary, #94A3B8);background:#0f172a0f;padding:1px 8px;border-radius:100px}@media (prefers-color-scheme: dark){.sf-hero,.sf-row,.sf-att-row,.sf-comment,.sf-comment-input-inline,.sf-mention-item,.sf-action,.sf-list__empty-with-action{background:var(--color-surface);border-color:#ffffff14}.sf-row__subject{background:#ffffff0f}.sf-justify-btn{background:#ffffff0f;border-color:#ffffff14}.sf-justify-btn--has-doc{background:#3b82f629;border-color:#3b82f64d}.sf-action:hover{background:#ffffff0d}.sf-mention-item{background:#ffffff0a}.sf-mention-item__class{background:#ffffff14}}@media (min-width: 992px){.sf-id,.sf-hero,.sf-alerts,.sf-weak,.sf-actions,.sf-ai-summary,.sf-list{max-width:960px;margin-left:auto;margin-right:auto}.sf-id{padding-left:var(--space-2xl);padding-right:var(--space-2xl)}}.topic-loading{display:flex;justify-content:center;align-items:center;min-height:60vh}.topic-header{padding:16px 24px 12px}.topic-header p{margin:0 0 8px;color:var(--color-muted-foreground);font-size:13px;line-height:1.55}.td-info-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.td-status-pill{border:none;padding:4px 12px;border-radius:999px;font:inherit;font-size:11px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.td-status-pill--draft{background:#94a3b81f;color:#64748b}.td-status-pill--ready{background:#2563eb1a;color:#2563eb}.td-status-pill--taught{background:#0596691a;color:#059669}.td-status-pill:active{opacity:.7}.td-info-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px}.td-info-badge--muted{background:#94a3b81a;color:#94a3b8}.td-schedule{margin-top:10px}.td-schedule-label{display:block;font-size:10px;font-weight:600;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.td-schedule-dates{display:flex;gap:5px;flex-wrap:wrap}.td-schedule-chip{padding:3px 9px;border-radius:6px;font-size:11px;font-weight:500;background:#15665e0f;color:var(--color-primary);font-variant-numeric:tabular-nums}.td-edit-panel{padding:16px 24px}.td-edit-option{display:flex;align-items:center;gap:10px;padding:10px 4px;cursor:pointer;font-size:13px;color:var(--color-foreground);-webkit-tap-highlight-color:transparent}.td-content-card{margin:0 24px 16px;border-radius:14px;border:1.5px solid var(--color-border);background:var(--color-card);overflow:hidden;transition:box-shadow .2s}.td-content-card:hover{box-shadow:0 2px 12px #0000000f}.td-content-card-body{display:flex;align-items:center;gap:14px;padding:16px;cursor:pointer;-webkit-tap-highlight-color:transparent}.td-content-card-body:active{opacity:.85}.td-content-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.td-content-info{flex:1;min-width:0}.td-content-title{font-size:14px;font-weight:600;margin:0 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-content-meta{font-size:12px;color:var(--color-muted-foreground);display:flex;align-items:center;gap:8px}.td-content-actions{display:flex;gap:6px}.td-content-action-btn{background:none;border:none;color:var(--color-muted-foreground);padding:8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;-webkit-tap-highlight-color:transparent;transition:background .15s}.td-content-action-btn:hover{background:var(--color-muted)}.td-generate-cta{margin:0 24px 16px;border-radius:14px;border:2px dashed var(--color-border);padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;-webkit-tap-highlight-color:transparent}.td-generate-cta:hover{border-color:var(--color-primary);background:#15665e05}.td-generate-cta:active{opacity:.85}.td-generate-cta-icon{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff}.td-generate-cta h4{margin:0;font-size:15px;font-weight:600}.td-generate-cta p{margin:0;font-size:13px;color:var(--color-muted-foreground);line-height:1.5;max-width:280px}.td-action-bar{display:flex;gap:10px;padding:4px 24px 16px}.td-action-btn{display:flex;align-items:center;gap:7px;padding:10px 20px;border-radius:10px;font-size:13px;font-weight:600;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s}.td-action-btn:active{opacity:.7}.td-action-upload{background:var(--color-muted);color:var(--color-foreground);border:1px solid var(--color-border)}.td-action-generate{color:#fff}.td-empty-hint{font-size:var(--font-size-sm);color:var(--color-muted-foreground);padding:0 24px 8px;margin:0;line-height:1.5}.td-regen-hint{font-size:var(--font-size-xs);color:var(--color-muted-foreground);padding:4px 24px 0;margin:0;line-height:1.5}.td-section{margin-bottom:14px}.td-section-header{display:flex;justify-content:space-between;align-items:center;padding:14px 24px 8px}.td-section-header h3{margin:0;font-size:11px;font-weight:700;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.06em}.td-section-count{font-size:11px;color:var(--color-muted-foreground);background:var(--color-muted);padding:2px 8px;border-radius:10px;font-weight:500}.td-folder{margin:0 24px 6px;border-radius:12px;border:1px solid var(--color-border);overflow:hidden}.td-folder-header{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent;background:var(--color-muted)}.td-folder-header:active{opacity:.8}.td-folder-chevron{flex-shrink:0}.td-folder-name{font-size:14px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-folder-count{font-size:11px;color:var(--color-muted-foreground);background:#0000000f;padding:2px 8px;border-radius:10px;font-weight:500;flex-shrink:0}.td-folder-menu{background:none;border:none;color:var(--color-muted-foreground);padding:4px;display:flex;align-items:center;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}.td-folder-body{padding:4px 0}.td-folder-actions{display:flex;gap:6px;padding:4px 14px 10px}.td-mat-row{display:flex;align-items:center;gap:12px;padding:11px 14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .1s;border-radius:8px}.td-mat-row:active{background:var(--color-muted)}.td-section>.td-mat-row{margin:0 24px;border-radius:10px}.td-mat-icon{color:var(--color-muted-foreground);flex-shrink:0}.td-mat-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.td-mat-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-mat-meta{font-size:11px;color:var(--color-muted-foreground);display:flex;align-items:center;gap:5px}.td-mat-badge{font-size:9px!important;padding:1px 5px!important;border-radius:6px!important;font-weight:500!important}.td-mat-menu-btn{background:none;border:none;color:var(--color-muted-foreground);padding:6px;display:flex;align-items:center;cursor:pointer;flex-shrink:0;border-radius:50%;-webkit-tap-highlight-color:transparent}.td-mat-menu-btn:active{background:var(--color-muted)}.td-add-subtema{display:flex;gap:6px;align-items:center;padding:0 24px;margin-bottom:10px}.td-add-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:7px;font-size:12px;font-weight:500;border:none;background:var(--color-muted);color:#586274;cursor:pointer;-webkit-tap-highlight-color:transparent}.td-add-btn:active{opacity:.7}.td-empty-state{padding:20px;text-align:center}.td-empty-state p{font-size:13px;color:var(--color-muted-foreground);margin:0;line-height:1.5}.materials-upload-progress{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:10px;padding:0 24px;font-size:12px;color:var(--color-muted-foreground)}.materials-upload-progress div{width:100%;height:3px;border-radius:2px}@media (min-width: 992px){.topic-header,.td-content-card,.td-generate-cta,.td-action-bar,.td-section,.td-add-subtema{max-width:720px;margin-left:auto;margin-right:auto}}@media (prefers-color-scheme: dark){.td-folder-header{background:#ffffff0d}.td-folder-count{background:#ffffff1a}.td-content-card{border-color:#ffffff1a}.td-generate-cta{border-color:#ffffff26}}.sph-header{--sph-accent: var(--color-primary, #15665e);position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem .85rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));background:var(--color-card, #ffffff)}.sph-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--sph-accent);opacity:.95}.sph-back{width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:var(--color-foreground, #0f172a);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s}.sph-back:hover{background:var(--color-accent, #f1f5f9)}.sph-meta{display:flex;flex-direction:column;min-width:0;gap:2px}.sph-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:color-mix(in srgb,var(--sph-accent) 75%,var(--color-muted-foreground, #64748b));font-weight:600}.sph-title{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;color:var(--color-foreground, #0f172a);margin:0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sph-sub{font-size:.78rem;color:var(--color-muted-foreground, #64748b);display:inline-flex;align-items:center;gap:4px}.sph-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;min-width:0}.sph-actions>button,.sph-actions>a{border:1px solid var(--color-border-strong, rgba(15, 23, 42, .1));background:transparent;color:var(--color-muted-foreground, #64748b);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:color .12s,border-color .12s,background .12s;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:5px}.sph-actions>button:hover,.sph-actions>a:hover{color:var(--color-foreground, #0f172a);border-color:var(--color-border-strong, rgba(15, 23, 42, .2));background:var(--color-accent, #f1f5f9)}@media (max-width: 640px){.sph-header{padding:.75rem .9rem;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;row-gap:.55rem}.sph-title{font-size:1rem}.sph-actions{grid-column:1 / -1;width:100%}.sph-actions>:only-child{flex:1;min-width:0}}@media (prefers-color-scheme: dark){.sph-header{background:var(--color-card, #1e293b);border-bottom-color:#ffffff14}}.ps{display:flex;flex-direction:column;gap:1rem;background:var(--color-card, #ffffff);border:1px solid var(--color-border, rgba(15, 23, 42, .08));border-radius:var(--radius-lg, 12px);padding:.9rem 1rem 1.1rem;font-family:var(--font-sans, "Inter", sans-serif);font-feature-settings:"tnum" 1}.ps-now{display:flex;flex-direction:column;gap:.5rem;padding:.85rem .95rem .9rem;border-radius:10px;background:linear-gradient(180deg,#15665e0d,#15665e05);border:1px solid rgba(21,102,94,.18)}.ps-now__head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.ps-now__eyebrow{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary, #15665e)}.ps-now__delta{display:inline-flex;align-items:center;padding:1px .5rem;border-radius:999px;font-size:.66rem;font-weight:600;font-variant-numeric:tabular-nums}.ps-now__delta--good{background:#10b9811f;color:#047857}.ps-now__delta--warn{background:#d977061f;color:#7c3a00}.ps-now__delta--neutral{background:var(--color-muted, #f1f5f9);color:var(--color-muted-foreground, #64748b)}.ps-now__topic{margin:0;font-size:.95rem;line-height:1.35;color:var(--color-foreground, #0f172a)}.ps-now__topic strong{font-weight:600;color:var(--color-primary, #15665e)}.ps-now__progress{height:6px;border-radius:3px;background:#15665e1f;overflow:hidden}.ps-now__progress-bar{height:100%;background:var(--color-primary, #15665e);border-radius:3px;transition:width .28s ease}.ps-now__progress-meta{margin:-2px 0 0;font-size:.7rem;color:var(--color-muted-foreground, #64748b);font-variant-numeric:tabular-nums}.ps-now__progress-meta strong{font-weight:600;color:var(--color-foreground, #0f172a)}.ps-now__upcoming{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.ps-now__upcoming li{display:grid;grid-template-columns:14px auto auto 1fr;align-items:baseline;gap:.4rem;padding:4px 0;font-size:.74rem;color:var(--color-foreground, #0f172a);border-top:1px dashed rgba(21,102,94,.15);font-variant-numeric:tabular-nums}.ps-now__upcoming li>span:nth-child(2){color:var(--color-muted-foreground, #64748b)}.ps-now__upcoming strong{font-weight:600}.ps-now__exam{color:var(--color-danger, #dc2626)}.ps-now__upcoming-name{color:var(--color-muted-foreground, #64748b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}.ps-rows{display:flex;flex-direction:column;gap:.5rem}.ps-tri{display:flex;flex-direction:column;border:1px solid var(--color-border, rgba(15, 23, 42, .08));border-radius:10px;background:var(--color-card, #ffffff);overflow:hidden;transition:border-color .16s}.ps-tri--open{border-color:var(--color-border, rgba(15, 23, 42, .12))}.ps-tri__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem .55rem .55rem;background:transparent;border:none;font-family:inherit;text-align:left;cursor:pointer;transition:background .12s;min-height:36px}.ps-tri__head:hover{background:var(--color-accent, #f1f5f9)}.ps-tri__head-l{display:inline-flex;align-items:center;gap:.4rem;min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden}.ps-tri__head-l>svg{color:var(--color-muted-foreground, #64748b);flex-shrink:0}.ps-tri__num{font-size:.82rem;font-weight:600;color:var(--color-foreground, #0f172a);letter-spacing:-.005em;flex-shrink:0}.ps-tri__range{font-size:.7rem;color:var(--color-muted-foreground, #64748b);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ps-tri__head-r{font-size:.7rem;color:var(--color-muted-foreground, #64748b);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex-shrink:0}@media (max-width: 420px){.ps-tri__range{display:none}}.ps-tri__body{display:flex;flex-direction:column;gap:.45rem;padding:.5rem .55rem .7rem;border-top:1px solid var(--color-border, rgba(15, 23, 42, .06))}.ps-tri__foot{display:flex;flex-wrap:wrap;gap:4px;padding:.5rem .2rem .1rem;margin-top:.2rem;border-top:1px dashed var(--color-border, rgba(15, 23, 42, .08))}.ps-card{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:center;padding:.65rem .75rem;border:1px solid var(--color-border, rgba(15, 23, 42, .06));border-radius:8px;background:var(--color-card, #ffffff)}.ps-card--past{background:var(--color-background, #f8fafc);border-color:var(--color-border, rgba(15, 23, 42, .04))}.ps-card--past .ps-card__name{color:var(--color-muted-foreground, #64748b)}.ps-card--empty{background:var(--color-background, #f8fafc);border-color:var(--color-border, rgba(15, 23, 42, .06));border-style:dashed}.ps-card--empty .ps-card__name{color:var(--color-muted-foreground, #64748b)}.ps-card--in_progress{border-color:#15665e4d;box-shadow:0 0 0 2px #15665e0f}.ps-card--unscheduled{border-color:#d977064d;background:#d9770605}.ps-card__main{display:flex;flex-direction:column;gap:.35rem;min-width:0}.ps-card__head{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:baseline}.ps-card__name{margin:0;font-size:.9rem;font-weight:600;letter-spacing:-.005em;color:var(--color-foreground, #0f172a);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-card__state{display:inline-flex;align-items:center;padding:1px .45rem;border-radius:999px;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--color-muted, #f1f5f9);color:var(--color-muted-foreground, #64748b);white-space:nowrap}.ps-card__state--in_progress{background:#15665e1a;color:var(--color-primary, #15665e)}.ps-card__state--past{background:var(--color-muted, #f1f5f9);color:var(--color-muted-foreground, #64748b)}.ps-card__state--empty{background:var(--color-muted, #f1f5f9);color:var(--color-muted-foreground, #64748b);font-style:italic}.ps-card__state--unscheduled{background:#d977061a;color:#7c3a00}.ps-card__state--not_started{background:transparent;color:var(--color-muted-foreground, #94a3b8)}.ps-card__sub{margin:0;display:inline-flex;align-items:baseline;gap:.35rem;font-size:.72rem;color:var(--color-muted-foreground, #64748b);font-variant-numeric:tabular-nums;flex-wrap:wrap}.ps-card__sub strong{font-weight:600;color:var(--color-foreground, #0f172a)}.ps-card__warn{margin:2px 0 0;padding:.4rem .55rem;border-radius:6px;background:#d977060f;font-size:.72rem;color:#7c3a00;line-height:1.4}.ps-card__bar{display:flex;align-items:stretch;gap:2px;height:8px;margin-top:1px;width:100%;min-width:0;overflow:hidden}.ps-tick{flex:1 1 0;min-width:0;max-width:16px;background:var(--color-primary, #15665e);border-radius:2px;opacity:.65}.ps-tick--past{opacity:.18}.ps-tick--cancelled{background:transparent;border:1px solid var(--color-border, rgba(15, 23, 42, .18));opacity:1}.ps-card__bar:has(.ps-tick:nth-child(20)){gap:1px}.ps-card__hits{display:flex;flex-wrap:wrap;gap:4px}.ps-hit{display:inline-flex;align-items:baseline;padding:.16rem .5rem;border-radius:999px;border:1px solid var(--color-border, rgba(15, 23, 42, .08));background:var(--color-card, #ffffff);font-size:.66rem;font-weight:500;color:var(--color-foreground, #0f172a);font-variant-numeric:tabular-nums;white-space:nowrap}.ps-hit--exam{border-color:#dc262638;color:var(--color-danger, #dc2626)}.ps-hit--review{border-color:#d9770638;color:#7c3a00}.ps-hit--buffer{border-style:dashed;background:var(--color-background, #f8fafc);color:var(--color-muted-foreground, #64748b)}.ps-hit--cancelled{opacity:.45;text-decoration:line-through;text-decoration-color:var(--color-muted-foreground, #94a3b8)}.ps-card__resize{display:inline-flex;align-items:center;gap:2px;background:var(--color-background, #f8fafc);border-radius:8px;padding:2px}.ps-resize-btn{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--color-foreground, #0f172a);cursor:pointer;transition:background .12s,color .12s}.ps-resize-btn:hover:not(:disabled){background:var(--color-card, #ffffff);box-shadow:var(--shadow-xs, 0 1px 2px rgba(15, 23, 42, .04))}.ps-resize-btn:disabled{opacity:.3;cursor:not-allowed}@keyframes ps-spin{to{transform:rotate(360deg)}}.ps-spin{animation:ps-spin .7s linear infinite;color:var(--color-muted-foreground, #64748b)}.ps-readonly{margin:0;padding-top:.55rem;border-top:1px dashed var(--color-border, rgba(15, 23, 42, .08));font-size:.72rem;font-style:italic;color:var(--color-muted-foreground, #64748b);text-align:center}.ps-empty{margin:0;padding:1rem 0;font-size:.85rem;color:var(--color-muted-foreground, #64748b);text-align:center}@media (pointer: coarse){.ps-resize-btn{width:36px;height:36px}.ps-tri__head{padding:.7rem .7rem .7rem .55rem}}@media (min-width: 900px){.ps{padding:1.1rem 1.25rem 1.3rem}.ps-card__name{font-size:.98rem}}.pdiag{display:flex;flex-direction:column;gap:.4rem;font-family:var(--font-sans, "Inter", sans-serif)}.pdiag__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.pdiag__list--collapsible{margin-top:.2rem}.pdiag__item{display:grid;grid-template-columns:auto 1fr auto auto;gap:.5rem;align-items:center;padding:.5rem .65rem;border-radius:8px;border:1px solid;font-size:.78rem;line-height:1.4}.pdiag__item--warning{background:#d977060f;border-color:#d9770638;color:#7c3a00}.pdiag__item--info{background:#0f172a06;border-color:var(--color-border, rgba(15, 23, 42, .08));color:var(--color-foreground, #0f172a)}.pdiag__item--danger{background:#dc26260d;border-color:#dc262638;color:#8a1d1d}.pdiag__icon{display:inline-flex;align-items:center;justify-content:center}.pdiag__msg{min-width:0}.pdiag__actions{display:inline-flex;gap:.3rem;align-items:center}.pdiag__act{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:500;padding:.25rem .55rem;border-radius:6px;border:1px solid currentColor;background:var(--color-card, #ffffff);color:inherit;cursor:pointer;font-family:inherit;transition:background .12s}.pdiag__act:hover{background:#0f172a0a}.pdiag__act--ghost{border-color:transparent;color:var(--color-muted-foreground, #64748b)}.pdiag__act--ghost:hover{background:var(--color-accent, #f1f5f9)}.pdiag__dismiss{width:22px;height:22px;border:none;background:transparent;color:currentColor;opacity:.55;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:opacity .12s,background .12s}.pdiag__dismiss:hover{opacity:1;background:#0f172a0f}.pdiag__summary{display:inline-flex;align-self:flex-start;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:999px;border:1px dashed var(--color-border, rgba(15, 23, 42, .18));background:transparent;color:var(--color-muted-foreground, #64748b);font-family:inherit;font-size:.72rem;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.pdiag__summary:hover{background:var(--color-accent, #f1f5f9);color:var(--color-foreground, #0f172a);border-color:var(--color-border, rgba(15, 23, 42, .25))}.pdiag__summary--open .pdiag__chev{transform:rotate(180deg)}.pdiag__chev{transition:transform .16s ease}@media (max-width: 480px){.pdiag__item{grid-template-columns:auto 1fr;grid-template-areas:"icon msg" ".    actions";gap:.4rem .5rem}.pdiag__icon{grid-area:icon}.pdiag__msg{grid-area:msg}.pdiag__actions{grid-area:actions;flex-wrap:wrap;justify-content:flex-end}.pdiag__dismiss{grid-area:icon;justify-self:end;align-self:start;grid-row:1;grid-column:2}}.topic-ann{display:inline-flex;align-items:center;gap:.25rem;margin-left:.5rem}.topic-ann--skipped{opacity:.55}.topic-ann__btn{display:inline-flex;align-items:center;gap:.2rem;height:22px;min-width:22px;padding:0 .4rem;font-size:.7rem;font-weight:500;border-radius:6px;border:1px solid var(--color-border, rgba(15, 23, 42, .08));background:var(--color-card, #ffffff);color:var(--color-muted-foreground, #64748b);cursor:pointer;transition:background .12s,color .12s,border-color .12s;font-family:var(--font-sans, "Inter", sans-serif)}.topic-ann__btn:hover:not(:disabled){background:var(--color-accent, #f1f5f9);color:var(--color-foreground, #0f172a)}.topic-ann__btn:disabled{opacity:.4;cursor:not-allowed}.topic-ann__btn--active{background:#15665e14;border-color:#15665e40;color:var(--color-primary, #15665e)}.topic-ann__btn--danger{background:#dc262614;border-color:#dc262640;color:var(--color-danger, #dc2626)}.topic-ann__weight{display:inline-flex;align-items:center;height:22px;border-radius:6px;border:1px solid var(--color-border, rgba(15, 23, 42, .08));background:var(--color-card, #ffffff);overflow:hidden}.topic-ann__weight-btn{width:22px;height:22px;border:none;background:transparent;color:var(--color-muted-foreground, #64748b);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.topic-ann__weight-btn:hover:not(:disabled){background:var(--color-accent, #f1f5f9);color:var(--color-foreground, #0f172a)}.topic-ann__weight-btn:disabled{opacity:.3;cursor:not-allowed}.topic-ann__weight-val{min-width:28px;text-align:center;font-size:.7rem;font-weight:600;color:var(--color-muted-foreground, #64748b);font-variant-numeric:tabular-nums}.topic-ann__weight-val--heavy{color:var(--color-primary, #15665e)}.topic-ann__weight-val--light{color:var(--color-warning, #d97706)}.topic-ann__popover{width:220px;padding:.7rem;background:var(--color-popover, #ffffff);border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, rgba(15, 23, 42, .08));box-shadow:var(--shadow-md, 0 2px 8px rgba(15, 23, 42, .06));font-family:var(--font-sans, "Inter", sans-serif)}.topic-ann__popover--notes{width:280px}.topic-ann__popover-hint{font-size:.7rem;color:var(--color-muted-foreground, #64748b);margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.topic-ann__pin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.topic-ann__pin{padding:.4rem;font-size:.78rem;font-weight:500;border-radius:6px;border:1px solid var(--color-border, rgba(15, 23, 42, .08));background:var(--color-card, #ffffff);color:var(--color-foreground, #0f172a);cursor:pointer;transition:background .12s,color .12s}.topic-ann__pin:hover{background:var(--color-accent, #f1f5f9)}.topic-ann__pin--active{background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #ffffff);border-color:var(--color-primary, #15665e)}.topic-ann__pin--clear{grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:center;gap:.3rem;font-size:.72rem;color:var(--color-muted-foreground, #64748b)}.topic-ann__notes{width:100%;resize:vertical;min-height:60px;padding:.5rem;border:1px solid var(--color-input, rgba(15, 23, 42, .08));border-radius:6px;font-size:.8rem;color:var(--color-foreground, #0f172a);background:var(--color-card, #ffffff);font-family:inherit;outline:none}.topic-ann__notes:focus{border-color:var(--color-ring, #15665e)}.prog-shell{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-background, #f8fafc)}.prog-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem 1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));background:var(--color-card, #fff);position:sticky;top:0;z-index:10}.prog-back{width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:var(--color-foreground, #0f172a);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s}.prog-back:hover{background:var(--color-accent, #f1f5f9)}.prog-header-meta{display:flex;flex-direction:column;min-width:0}.prog-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted-foreground, #64748b)}.prog-title{font-size:1.15rem;font-weight:600;margin:0;color:var(--color-foreground, #0f172a)}.prog-header-secondary{border:1px solid var(--color-border-strong, rgba(15, 23, 42, .1));background:transparent;color:var(--color-muted-foreground, #64748b);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer;transition:color .12s,border-color .12s}.prog-header-secondary:hover{color:#b91c1c;border-color:#b91c1c}.prog-empty,.prog-empty-page{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.prog-empty{gap:.5rem;color:var(--color-muted-foreground, #64748b);font-size:14px}.prog-empty-page{flex:1;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:clamp(1.25rem,4vw,2.5rem);overflow-y:auto;gap:1.25rem}.prog-empty-page,.prog-empty-hero,.prog-empty-form{max-width:880px;width:100%;margin-left:auto;margin-right:auto}.prog-empty-hero{background:linear-gradient(160deg,color-mix(in srgb,var(--color-primary, #15665e) 8%,var(--color-card, #fff)) 0%,var(--color-card, #fff) 75%);border:1px solid color-mix(in srgb,var(--color-primary, #15665e) 20%,var(--color-border-strong, rgba(15, 23, 42, .08)));border-radius:18px;padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3vw,2rem);box-shadow:0 10px 36px -18px #15665e40}.prog-empty-hero-eyebrow{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary, #15665e);background:color-mix(in srgb,var(--color-primary, #15665e) 12%,transparent);padding:4px 10px;border-radius:999px;margin-bottom:.75rem}.prog-empty-hero-title{margin:0 0 .5rem;font-size:clamp(1.4rem,3vw,1.75rem);font-weight:700;letter-spacing:-.015em;color:var(--color-foreground, #0f172a);line-height:1.2}.prog-empty-hero-text{margin:0 0 1.25rem;font-size:14px;line-height:1.6;color:var(--color-muted-foreground, #475569);max-width:64ch}.prog-empty-roadmap{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;position:relative}.prog-empty-roadmap:before{content:"";position:absolute;left:14px;right:14px;top:18px;height:1px;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--color-primary, #15665e) 25%,transparent) 20%,color-mix(in srgb,var(--color-primary, #15665e) 25%,transparent) 80%,transparent);z-index:0}.prog-empty-step{display:flex;align-items:flex-start;gap:8px;position:relative;z-index:1}.prog-empty-step-icon{width:28px;height:28px;border-radius:999px;background:var(--color-card, #fff);border:1px solid color-mix(in srgb,var(--color-primary, #15665e) 30%,transparent);color:var(--color-primary, #15665e);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary, #15665e) 5%,transparent)}.prog-empty-step-text{display:flex;flex-direction:column;min-width:0}.prog-empty-step-num{font-size:12px;font-weight:600;color:var(--color-foreground, #0f172a);letter-spacing:-.005em}.prog-empty-step-desc{font-size:11px;color:var(--color-muted-foreground, #64748b);line-height:1.4}@media (max-width: 720px){.prog-empty-roadmap{grid-template-columns:1fr;gap:.6rem}.prog-empty-roadmap:before{display:none}}.prog-empty-form{background:var(--color-card, #fff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));border-radius:18px;padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3vw,2rem);display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 4px 20px #0f172a0a}.prog-empty-form-head{display:flex;flex-direction:column;gap:4px}.prog-empty-form-head h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-foreground, #0f172a)}.prog-empty-form-hint{font-size:12px;color:var(--color-muted-foreground, #64748b)}.prog-empty-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}@media (max-width: 760px){.prog-empty-grid{grid-template-columns:1fr}}.prog-empty-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:1.1rem 1.1rem 1.25rem;border-radius:14px;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));background:var(--color-background, #f8fafc);transition:border-color .14s,background .14s,box-shadow .14s,transform .14s;min-height:240px}.prog-empty-card-icon{width:36px;height:36px;border-radius:10px;background:color-mix(in srgb,var(--color-primary, #15665e) 12%,transparent);color:var(--color-primary, #15665e);display:inline-flex;align-items:center;justify-content:center}.prog-empty-card-title{margin:0;font-size:14px;font-weight:600;color:var(--color-foreground, #0f172a);letter-spacing:-.005em}.prog-empty-card-text{margin:0;font-size:12.5px;line-height:1.5;color:var(--color-muted-foreground, #64748b)}.prog-empty-card-chip{align-self:flex-start;margin-top:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;color:var(--color-muted-foreground, #64748b);background:color-mix(in srgb,var(--color-foreground, #0f172a) 6%,transparent);padding:3px 8px;border-radius:6px}.prog-empty-card--upload{cursor:pointer;border-style:dashed}.prog-empty-card--upload input{display:none}.prog-empty-card--upload:hover{border-color:color-mix(in srgb,var(--color-primary, #15665e) 45%,transparent);background:color-mix(in srgb,var(--color-primary, #15665e) 4%,var(--color-background, #f8fafc))}.prog-empty-card--upload.is-drag{border-color:var(--color-primary, #15665e);border-style:solid;background:color-mix(in srgb,var(--color-primary, #15665e) 8%,var(--color-card, #fff));box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary, #15665e) 12%,transparent);transform:translateY(-1px)}.prog-empty-card--upload.has-files{border-style:solid;background:var(--color-card, #fff)}.prog-empty-files{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.prog-empty-files li{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--color-muted, #f1f5f9);border-radius:8px;font-size:12px}.prog-empty-files-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--color-foreground, #0f172a)}.prog-empty-files-size{font-size:10px;color:var(--color-muted-foreground, #64748b);font-variant-numeric:tabular-nums}.prog-empty-files li button{border:none;background:transparent;color:var(--color-muted-foreground, #64748b);cursor:pointer;padding:2px;border-radius:4px;display:inline-flex;align-items:center}.prog-empty-files li button:hover{color:#b91c1c;background:color-mix(in srgb,#DC2626 8%,transparent)}.prog-empty-card--describe{background:var(--color-card, #fff)}.prog-empty-textarea{margin-top:auto;font-size:13px!important;line-height:1.55;background:var(--color-background, #f8fafc)!important;border-color:var(--color-border-strong, rgba(15, 23, 42, .08))!important}.prog-empty-hint-warn{font-size:11px;color:#b45309}.prog-empty-cta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:.5rem;border-top:1px dashed var(--color-border-strong, rgba(15, 23, 42, .08));flex-wrap:wrap}.prog-empty-cta-side{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--color-muted-foreground, #64748b)}.prog-empty-cta{font-weight:500;min-width:180px;justify-content:center}.prog-empty-card--loading{align-items:center;text-align:center;display:flex;justify-content:center;flex-direction:column;padding:2.25rem;background:var(--color-card, #fff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));border-radius:18px;max-width:560px;margin:0 auto;gap:.5rem}.prog-empty-card--loading h2{margin:.25rem 0 0;font-size:1.1rem;font-weight:600;color:var(--color-foreground, #0f172a)}.prog-empty-card--loading p{margin:0;color:var(--color-muted-foreground, #64748b);font-size:13px;line-height:1.6;max-width:48ch}.prog-loading-icon{color:var(--color-primary, #15665e)}.prog-workspace{flex:1;min-height:0;overflow-y:auto;padding:1.5rem clamp(1rem,4vw,2.5rem);display:flex;flex-direction:column;gap:1.5rem;max-width:960px;width:100%;margin:0 auto}.prog-stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.prog-step{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--color-card, #fff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .06))}.prog-step--active{border-color:color-mix(in srgb,var(--color-primary, #15665e) 50%,transparent);background:color-mix(in srgb,var(--color-primary, #15665e) 5%,var(--color-card, #fff))}.prog-step--done .prog-step-num{background:var(--color-primary, #15665e);color:#fff}.prog-step--locked{opacity:.55}.prog-step-num{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;background:var(--color-muted, #f1f5f9);color:var(--color-foreground, #0f172a);flex-shrink:0}.prog-step-text{display:flex;flex-direction:column;min-width:0}.prog-step-title{font-size:13px;font-weight:600;color:var(--color-foreground, #0f172a)}.prog-step-sub{font-size:11px;color:var(--color-muted-foreground, #64748b)}@media (max-width: 720px){.prog-stepper{grid-template-columns:1fr}}.prog-phase{background:var(--color-card, #fff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .06));border-radius:16px;padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.prog-phase--locked{opacity:.85}.prog-phase--collapsed{padding:0;border-radius:10px;overflow:hidden}.prog-collapsed-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;align-items:center;width:100%;padding:.7rem .85rem;background:var(--color-card, #ffffff);border:1px solid var(--color-border, rgba(15, 23, 42, .08));border-radius:10px;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s;text-align:left}.prog-collapsed-row:hover{background:var(--color-accent, #f1f5f9);border-color:var(--color-border, rgba(15, 23, 42, .14))}.prog-collapsed-row__l{display:inline-flex;align-items:baseline;gap:.5rem;min-width:0}.prog-collapsed-row__eyebrow{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted-foreground, #64748b)}.prog-collapsed-row__title{font-size:.88rem;font-weight:600;color:var(--color-foreground, #0f172a)}.prog-collapsed-row__chip{display:inline-flex;align-items:center;padding:1px .55rem;border-radius:999px;font-size:.62rem;font-weight:600;background:#10b9811f;color:#047857}.prog-collapsed-row__r{display:inline-flex;align-items:center;gap:.4rem;font-size:.74rem;color:var(--color-muted-foreground, #64748b);font-variant-numeric:tabular-nums;white-space:nowrap}.prog-phase-header{display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--color-border-strong, rgba(15, 23, 42, .06));padding-bottom:.75rem}.prog-phase-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted-foreground, #64748b);font-weight:600}.prog-phase-title{margin:2px 0 0;font-size:1.05rem;font-weight:600;color:var(--color-foreground, #0f172a)}.prog-phase-sub{font-size:12px;color:var(--color-muted-foreground, #64748b)}.prog-phase-meta{margin-left:auto;display:flex;align-items:center;gap:.5rem}.prog-phase-action{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .1));background:transparent;color:var(--color-foreground, #0f172a);border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer;font-weight:500;transition:background .12s}.prog-phase-action:hover{background:var(--color-accent, #f1f5f9)}.prog-phase-action:disabled{opacity:.5;cursor:wait}.prog-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.prog-chip--success{background:#0596691a;color:#047857}.prog-chip--warning{background:#d977061a;color:#b45309}.prog-chip--muted{background:#64748b1f;color:#475569}.prog-locked-line{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-muted-foreground, #64748b)}.prog-generating-line{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;border-radius:10px;background:color-mix(in srgb,var(--color-primary, #15665e) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-primary, #15665e) 20%,transparent);color:var(--color-foreground, #0f172a);font-size:13px;line-height:1.5}.prog-generating-line svg{color:var(--color-primary, #15665e);flex-shrink:0;margin-top:1px}.prog-empty-line{font-size:13px;color:var(--color-muted-foreground, #64748b);margin:0}.prog-phase-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:.5rem}.prog-cta{font-weight:500}.prog-validated-note{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#047857}.prog-curriculum{display:flex;flex-direction:column;gap:.75rem}.prog-curriculum-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.prog-curriculum-subj{font-weight:600;font-size:14px;color:var(--color-foreground, #0f172a);margin-right:6px}.prog-curriculum-level,.prog-curriculum-count{font-size:12px;color:var(--color-muted-foreground, #64748b)}.prog-units{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.prog-unit{border:1px solid var(--color-border-strong, rgba(15, 23, 42, .06));border-radius:12px;background:var(--color-background, #f8fafc);overflow:hidden;transition:border-color .12s}.prog-unit--open{border-color:color-mix(in srgb,var(--color-primary, #15665e) 30%,transparent);background:var(--color-card, #fff)}.prog-unit-head{display:flex;align-items:center;gap:10px;padding:10px 12px;width:100%;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;color:inherit}.prog-unit-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;color:var(--color-primary, #15665e);background:color-mix(in srgb,var(--color-primary, #15665e) 12%,transparent);padding:2px 8px;border-radius:6px;flex-shrink:0}.prog-unit-title{flex:1;font-size:14px;font-weight:500;color:var(--color-foreground, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prog-unit-input{flex:1;font-family:inherit;font-size:14px;font-weight:500;color:var(--color-foreground, #0f172a);border:1px solid transparent;background:transparent;border-radius:6px;padding:4px 6px;outline:none}.prog-unit-input:focus{border-color:color-mix(in srgb,var(--color-primary, #15665e) 40%,transparent);background:var(--color-card, #fff)}.prog-unit-count{font-size:12px;color:var(--color-muted-foreground, #64748b)}.prog-unit-chev{color:var(--color-muted-foreground, #64748b);transition:transform .16s}.prog-unit--open .prog-unit-chev{transform:rotate(90deg)}.prog-unit-body{padding:0 14px 12px;display:flex;flex-direction:column;gap:8px}.prog-unit-desc{font-size:12px;color:var(--color-muted-foreground, #64748b);margin:0;line-height:1.5}.prog-topics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.prog-topic{padding:8px 10px;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .06));border-radius:8px;background:var(--color-background, #f8fafc);display:flex;flex-direction:column;gap:4px}.prog-topic-title{font-size:13px;font-weight:500;color:var(--color-foreground, #0f172a)}.prog-topic-input{font-family:inherit;font-size:13px;font-weight:500;color:var(--color-foreground, #0f172a);border:1px solid transparent;background:transparent;border-radius:6px;padding:2px 6px;outline:none}.prog-topic-input:focus{border-color:color-mix(in srgb,var(--color-primary, #15665e) 40%,transparent);background:var(--color-card, #fff)}.prog-topic-objectives{list-style:disc;margin:0;padding-left:20px;display:flex;flex-direction:column;gap:2px}.prog-topic-objectives li{font-size:12px;color:var(--color-muted-foreground, #64748b)}.prog-curriculum-savebar{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--color-primary, #15665e) 35%,transparent);border-radius:10px;background:color-mix(in srgb,var(--color-primary, #15665e) 5%,transparent);position:sticky;bottom:1rem}.prog-savebar-text{flex:1;font-size:13px;color:var(--color-foreground, #0f172a)}.prog-plan-summary{display:flex;flex-direction:column;gap:1rem}.prog-plan-meta{display:inline-flex;align-items:baseline;gap:.45rem;font-size:.8rem;color:var(--color-muted-foreground, #64748b);font-variant-numeric:tabular-nums}.prog-plan-meta strong{font-weight:600;color:var(--color-foreground, #0f172a)}.prog-loading-phase{margin-top:6px;font-size:12px;color:var(--color-primary, #4f46e5);display:inline-flex;align-items:center;gap:6px}.prog-unit-head-row{display:flex;align-items:stretch;gap:4px}.prog-unit-head-row>.prog-unit-head{flex:1}.prog-unit-actions,.prog-topic-actions{display:inline-flex;align-items:center;gap:2px;padding:0 6px}.prog-icon-btn{width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:var(--color-muted-foreground, #64748b);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s}.prog-icon-btn:hover:not(:disabled){background:var(--color-accent, #f1f5f9);color:var(--color-foreground, #0f172a)}.prog-icon-btn:disabled{opacity:.35;cursor:not-allowed}.prog-icon-btn--danger:hover:not(:disabled){color:#dc2626;background:#dc262614}.prog-topic-row{display:flex;align-items:center;gap:6px}.prog-topic-row>.prog-topic-input{flex:1}.prog-topic--add{padding:0}.prog-add-row{width:100%;padding:6px 10px;border:1px dashed var(--color-border, rgba(15, 23, 42, .12));background:transparent;border-radius:8px;font-size:12px;color:var(--color-muted-foreground, #64748b);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.prog-add-row:hover{border-color:var(--color-primary, #4f46e5);color:var(--color-primary, #4f46e5)}.prog-unit--add{background:transparent;border:none;padding:0}.prog-add-unit{width:100%;padding:12px 14px;border:1px dashed var(--color-border, rgba(15, 23, 42, .16));background:transparent;border-radius:10px;font-size:13px;color:var(--color-muted-foreground, #64748b);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.prog-add-unit:hover{border-color:var(--color-primary, #4f46e5);color:var(--color-primary, #4f46e5)}@media (prefers-color-scheme: dark){.prog-header{background:var(--color-card, #1e293b)}.prog-empty-hero,.prog-empty-form,.prog-empty-card--loading,.prog-phase{background:var(--color-card, #1e293b);border-color:#ffffff14}.prog-empty-card{background:#ffffff05;border-color:#ffffff14}.prog-empty-card--upload.has-files,.prog-empty-card--describe,.prog-empty-step-icon{background:var(--color-card, #1e293b)}.prog-empty-files li{background:#ffffff0a}.prog-step{background:var(--color-card, #1e293b);border-color:#ffffff14}.prog-unit{background:#ffffff05;border-color:#ffffff0f}.prog-unit--open{background:var(--color-card, #1e293b)}.prog-topic{background:#ffffff05;border-color:#ffffff0f}}.csp__trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:12px;background:var(--color-surface, var(--color-background));font-family:inherit;font-size:15px;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-height:48px;text-align:left}.csp__trigger:active{border-color:var(--color-primary);box-shadow:0 0 0 2px #15665e26}.csp__trigger--loading,.csp__trigger--empty{pointer-events:none;justify-content:center;color:var(--color-muted-foreground);font-size:13px}.csp__trigger-value{font-weight:600;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.csp__trigger-placeholder{color:var(--color-muted-foreground)}.csp__trigger-icon{font-size:16px;color:var(--color-muted-foreground);flex-shrink:0;margin-left:8px}.csp__overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#0006;display:flex;align-items:flex-end;justify-content:center;animation:csp-fade-in .15s ease}@keyframes csp-fade-in{0%{opacity:0}to{opacity:1}}.csp__sheet{width:100%;max-width:500px;max-height:70vh;background:var(--color-background);border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:csp-slide-up .2s ease}@keyframes csp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.csp__sheet-handle{width:36px;height:4px;border-radius:2px;background:#d4d8db;margin:8px auto 0}.csp__sheet-header{padding:12px 20px 8px}.csp__sheet-title{font-size:17px;font-weight:700;color:var(--color-foreground)}.csp__search{padding:0 16px 8px}.csp__list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(16px,env(safe-area-inset-bottom))}.csp__empty{padding:32px 20px;text-align:center;color:var(--color-muted-foreground);font-size:14px}.csp__group{padding-bottom:4px}.csp__group-header{display:flex;align-items:center;gap:6px;padding:12px 20px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--color-muted-foreground)}.csp__group-header svg{font-size:14px}.csp__option{display:flex;align-items:center;gap:10px;width:100%;padding:12px 20px;border:none;background:transparent;font-family:inherit;font-size:15px;text-align:left;cursor:pointer;transition:background .1s}.csp__option:active{background:#15665e14}.csp__option--selected{background:#15665e0f}.csp__option-icon{font-size:18px;color:var(--color-primary);flex-shrink:0}.csp__option-label{flex:1;font-weight:500;color:var(--color-foreground)}.csp__option--selected .csp__option-label{font-weight:700;color:var(--color-primary)}.csp__option-check{font-size:20px;color:var(--color-primary);flex-shrink:0}@media (prefers-color-scheme: dark){.csp__trigger{border-color:#ffffff1a;background:#ffffff0a}.csp__sheet{background:#1c1c1e}.csp__option:active{background:#ffffff0f}.csp__option--selected{background:#ffffff0a}}.csp__option:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.exam-editor-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;background:var(--color-background)}.exam-editor-form{flex:1;padding:var(--space-lg);min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-md)}.exam-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);padding:var(--space-lg) var(--space-lg) 0}.exam-mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 14px 12px;background:var(--color-card);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);font-family:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.exam-mode-btn:hover{border-color:color-mix(in oklab,var(--color-primary) 35%,var(--color-border))}.exam-mode-btn:active{transform:scale(.985)}.exam-mode-btn__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary)}.exam-mode-btn__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);letter-spacing:-.005em}.exam-mode-btn__sub{font-size:11px;color:var(--color-muted-foreground);line-height:1.3}.exam-mode-btn--active{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 6%,var(--color-card));box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 14%,transparent)}.exam-mode-btn--active .exam-mode-btn__icon{background:var(--color-primary);color:var(--color-primary-foreground)}.exam-mode-btn--active .exam-mode-btn__title{color:var(--color-primary)}.exam-mode-btn--active:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(135deg,transparent 0%,color-mix(in oklab,var(--color-primary) 4%,transparent) 70%,transparent 100%)}.ex-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);transition:border-color var(--transition-fast)}.ex-card:hover{border-color:color-mix(in oklab,var(--color-foreground) 10%,var(--color-border))}.ex-card__header{display:flex;align-items:center;gap:var(--space-sm)}.ex-card__num{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:9999px;background:#15665e1a;color:var(--color-primary);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;flex-shrink:0}.ex-card__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary);flex-shrink:0}.ex-card__title{font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-foreground);margin:0}.ex-card__sub{font-size:12px;color:var(--color-muted-foreground);margin-top:2px}.ex-card__body{display:flex;flex-direction:column;gap:var(--space-md)}.ex-label{display:block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted-foreground);margin-bottom:6px}.ex-label__opt{text-transform:none;letter-spacing:0;font-weight:400;font-size:10px;color:var(--color-muted-foreground);opacity:.75;margin-left:6px;font-style:italic}.ex-field{display:flex;flex-direction:column;min-width:0}.exam-name-field{margin-bottom:0}.exam-name-label{display:block;font-size:11px;font-weight:600;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.exam-name-warning{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-warning);margin:6px 0 0}.upload-item{display:flex;align-items:center;gap:var(--space-md);background:color-mix(in oklab,var(--color-primary) 4%,var(--color-card));border:1.5px dashed color-mix(in oklab,var(--color-primary) 30%,var(--color-border));border-radius:var(--radius-lg);padding:var(--space-lg);min-height:80px;width:100%;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent;text-align:left;font-family:inherit}.upload-item:hover{background:color-mix(in oklab,var(--color-primary) 8%,var(--color-card));border-color:var(--color-primary)}.upload-item:active{transform:scale(.99)}.upload-item-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 12%,transparent);color:var(--color-primary);flex-shrink:0}.upload-item-text{flex:1;min-width:0}.upload-item h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-foreground);margin:0;letter-spacing:-.005em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.upload-item p{font-size:12px;color:var(--color-muted-foreground);margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.upload-success-icon{flex-shrink:0;color:var(--color-success)}.upload-file-list{display:flex;flex-wrap:wrap;gap:6px;padding:var(--space-sm) 0 0}.gen-section{display:flex;flex-direction:column;gap:var(--space-md)}.trimester-pills{display:flex;gap:6px;margin-bottom:var(--space-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.trimester-pills::-webkit-scrollbar{display:none}.trimester-pill{flex-shrink:0;padding:5px 14px;border-radius:var(--radius-full);border:1.5px solid var(--color-border);background:transparent;color:var(--color-muted-foreground);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent}.trimester-pill:hover{border-color:var(--color-foreground);color:var(--color-foreground)}.trimester-pill:active{transform:scale(.95)}.trimester-pill--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-foreground)}.gen-topics{margin-top:var(--space-sm)}.gen-topics__label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-muted-foreground);display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.gen-topics__count{font-size:var(--font-size-xs)!important;padding:2px 8px!important;border-radius:var(--radius-full)!important}.gen-topics__loading{display:flex;justify-content:center;padding:var(--space-xl)}.gen-topics__empty{text-align:center;padding:var(--space-xl);color:var(--color-muted-foreground);font-size:var(--font-size-sm)}.gen-topics__list{display:flex;flex-direction:column;gap:var(--space-sm)}.gen-topics__subject-header{font-size:11px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-sm) 0 var(--space-xs);margin-top:var(--space-xs)}.gen-topic-chip{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-card);border-radius:var(--radius-md);border:1.5px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.gen-topic-chip:hover{border-color:color-mix(in oklab,var(--color-primary) 30%,var(--color-border))}.gen-topic-chip--active{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 5%,var(--color-card))}.gen-topic-chip--partial{border-color:color-mix(in oklab,var(--color-primary) 40%,var(--color-border));border-style:dashed}.gen-topic-chip--sub{padding:6px 10px;border-radius:8px;font-size:12px}.gen-topic-chip:active{transform:scale(.99)}.gen-topic-chip__check{--size: 20px;pointer-events:none}.gen-topic-chip__name{flex:1;font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground)}.gen-topic-chip__materials{font-size:var(--font-size-xs)!important;padding:2px 6px!important;border-radius:var(--radius-full)!important}.gen-config{display:flex;flex-direction:column;gap:var(--space-md);background:var(--color-card);border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--color-border);transition:border-color var(--transition-fast)}.gen-config:hover{border-color:color-mix(in oklab,var(--color-foreground) 10%,var(--color-border))}.gen-config__label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-xs)}.gen-config__row{display:flex;gap:var(--space-md)}.gen-config-inline{display:flex;flex-direction:column;gap:0}.gen-config-inline__row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--color-border);gap:var(--space-md)}.gen-config-inline__row:last-child{border-bottom:none;padding-bottom:0}.gen-config-inline__row:first-child{padding-top:0}.gen-config-inline__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground);flex-shrink:0}.gen-config-inline__select{width:auto!important;min-width:150px;height:34px!important;font-size:13px!important}.gen-config-stepper{display:inline-flex;align-items:center;gap:0;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:3px}.gen-config-stepper__btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-full);font-size:16px;font-weight:600;font-family:inherit;color:var(--color-foreground);cursor:pointer;transition:all .12s ease;-webkit-tap-highlight-color:transparent}.gen-config-stepper__btn:hover:not(:disabled){background:var(--color-card);box-shadow:var(--shadow-xs)}.gen-config-stepper__btn:active:not(:disabled){transform:scale(.92)}.gen-config-stepper__btn:disabled{opacity:.3;cursor:default}.gen-config-stepper__btn--active{background:var(--color-card);color:var(--color-primary);box-shadow:var(--shadow-xs)}.gen-config-stepper__value{min-width:32px;text-align:center;font-size:14px;font-weight:700;color:var(--color-foreground);font-variant-numeric:tabular-nums}.gen-config-pills{display:inline-flex;gap:0;background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:3px}.gen-config-pill{padding:5px 14px;border:none;background:transparent;border-radius:var(--radius-full);font-size:12px;font-weight:600;font-family:inherit;color:var(--color-muted-foreground);cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.gen-config-pill:hover{color:var(--color-foreground)}.gen-config-pill:active{transform:scale(.97)}.gen-config-pill--active{background:var(--color-card);color:var(--color-primary);box-shadow:var(--shadow-xs)}.exam-format-cards,.exam-format-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.exam-format-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 10px;background:var(--color-card);border:1.5px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;font-family:inherit;-webkit-tap-highlight-color:transparent;position:relative}.exam-format-card:hover{border-color:color-mix(in oklab,var(--color-primary) 30%,var(--color-border))}.exam-format-card:active{transform:scale(.97)}.exam-format-card--active{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 6%,var(--color-card));box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 14%,transparent)}.exam-format-preview{width:56px;height:42px;color:var(--color-muted-foreground);display:block}.exam-format-card--active .exam-format-preview{color:var(--color-primary)}.exam-format-card__label{font-size:12px;font-weight:600;color:var(--color-foreground);line-height:1}.exam-format-card--active .exam-format-card__label{color:var(--color-primary)}.exam-format-card__desc{font-size:10.5px;color:var(--color-muted-foreground);line-height:1.25;text-align:center}.exam-logo-card{display:flex;align-items:center;gap:var(--space-md);padding:12px var(--space-md);background:var(--color-card);border:1.5px dashed color-mix(in oklab,var(--color-primary) 25%,var(--color-border));border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;width:100%;font-family:inherit;text-align:left}.exam-logo-card:hover{border-color:var(--color-primary)}.exam-logo-card:active{transform:scale(.99)}.exam-logo-card--has-logo{border-style:solid;border-color:var(--color-border);background:var(--color-card);cursor:default}.exam-logo-card--has-logo:hover{border-color:var(--color-border)}.exam-logo-card__img{height:32px;max-width:80px;object-fit:contain;border-radius:4px}.exam-logo-card__placeholder{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 12%,transparent);color:var(--color-primary);flex-shrink:0}.exam-logo-card__info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.gen-personalize{margin-top:var(--space-xs)}.gen-personalize__info{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);margin-top:var(--space-sm);background:color-mix(in oklab,var(--color-primary) 6%,var(--color-card));border:1px solid color-mix(in oklab,var(--color-primary) 16%,transparent);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-primary);line-height:1.4}.gen-personalize__info svg{flex-shrink:0;margin-top:1px}.blank-pages-stepper{display:flex;align-items:center;justify-content:space-between;padding:12px var(--space-md);background:var(--color-card);border-radius:var(--radius-md);border:1px solid var(--color-border);margin-top:var(--space-sm)}.blank-pages-stepper__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground)}.blank-pages-stepper__controls{display:flex;align-items:center;gap:var(--space-sm)}.blank-pages-stepper__btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:transparent;color:var(--color-primary);font-size:18px;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.blank-pages-stepper__btn:hover:not(:disabled){border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 8%,transparent)}.blank-pages-stepper__btn:active:not(:disabled){transform:scale(.92)}.blank-pages-stepper__btn:disabled{opacity:.3;cursor:default}.blank-pages-stepper__value{min-width:32px;text-align:center;font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}.exam-downloads{margin-top:0;padding:var(--space-lg);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.exam-downloads__label{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);margin-bottom:var(--space-md)}.exam-downloads__buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.exam-downloads__hint{font-size:var(--font-size-xs);color:var(--color-primary);margin:var(--space-md) 0 0;padding:var(--space-sm) var(--space-md);background:color-mix(in oklab,var(--color-primary) 6%,transparent);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);line-height:1.4}.exam-editor-actions{position:sticky;bottom:0;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md) var(--space-lg) calc(var(--space-md) + env(safe-area-inset-bottom,0));background:color-mix(in oklab,var(--color-background) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--color-border);margin-top:auto;z-index:5}.save-btn{height:48px;font-weight:600;font-size:var(--font-size-md);border-radius:var(--radius-md)}.gen-btn{background:var(--color-primary);color:var(--color-primary-foreground);box-shadow:0 4px 14px color-mix(in oklab,var(--color-primary) 35%,transparent)}.gen-error{font-size:var(--font-size-sm);color:var(--color-destructive);text-align:center;margin:0 0 var(--space-sm)}.exam-deadline-section{margin-top:0;padding:var(--space-md);background:color-mix(in oklab,var(--color-primary) 5%,var(--color-card));border:1px solid color-mix(in oklab,var(--color-primary) 16%,transparent);border-radius:var(--radius-md)}.exam-deadline-header{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground)}.exam-deadline-header svg{color:var(--color-primary);flex-shrink:0}.exam-deadline-header span{margin-left:auto}.exam-iteration-section{padding:var(--space-lg);background:color-mix(in oklab,var(--color-tertiary) 5%,var(--color-card));border:1px solid color-mix(in oklab,var(--color-tertiary) 16%,transparent);border-radius:var(--radius-lg)}.exam-iteration-header{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);font-weight:600;color:var(--color-foreground);margin-bottom:var(--space-sm)}.exam-iteration-header svg{color:var(--color-tertiary, var(--color-primary))}.exam-iteration-description{font-size:var(--font-size-sm);color:var(--color-muted-foreground);margin:0 0 var(--space-md);line-height:1.4}.exam-iteration-quick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-md)}.exam-iteration-history{margin-top:var(--space-lg)}.iteration-history-content{padding:var(--space-md) 0}.iteration-history-item{padding:var(--space-md);background:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.iteration-history-item:last-child{margin-bottom:0}.iteration-history-version{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.iteration-history-item--current{border:1px solid var(--color-primary);background:color-mix(in oklab,var(--color-primary) 5%,var(--color-card))}.iteration-history-label{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:600}.iteration-history-time{font-size:var(--font-size-xs);color:var(--color-muted-foreground)}.iteration-history-instruction{font-size:var(--font-size-sm);color:var(--color-foreground);margin:0 0 var(--space-xs);font-style:italic}.iteration-history-changes{font-size:var(--font-size-xs);color:var(--color-muted-foreground);margin:var(--space-xs) 0 0;padding-left:var(--space-lg)}.iteration-history-changes li{margin-bottom:2px}.exam-editor-form .exgen__type-toggle{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.exam-editor-form .exgen__type-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);color:var(--color-muted-foreground);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.exam-editor-form .exgen__type-btn:active{transform:scale(.98)}.exam-editor-form .exgen__type-btn--active{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 6%,var(--color-card));color:var(--color-primary)}.exam-editor-form .exgen__type-btn--recovery.exgen__type-btn--active{border-color:var(--color-warning);background:color-mix(in oklab,var(--color-warning) 8%,var(--color-card));color:var(--color-warning)}.exam-editor-form .exgen__type-btn svg{font-size:18px}.gen-recovery-source{margin-top:var(--space-sm)}.gen-recovery-source__hint{font-size:var(--font-size-xs);color:var(--color-muted-foreground);margin:0 0 var(--space-md);line-height:1.4}.gen-recovery-students{margin-top:var(--space-lg)}.gen-recovery-students__label{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--color-destructive);margin-bottom:var(--space-sm)}.gen-recovery-students__empty{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:color-mix(in oklab,var(--color-success) 8%,transparent);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-success)}.gen-recovery-students__list{display:flex;flex-direction:column;gap:var(--space-xs)}.gen-recovery-student{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:color-mix(in oklab,var(--color-destructive) 5%,transparent);border-radius:var(--radius-sm);border:1px solid color-mix(in oklab,var(--color-destructive) 14%,transparent)}.gen-recovery-student__name{font-size:var(--font-size-sm);font-weight:500}.gen-materials-note{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-muted-foreground);margin:8px 0 0}.gen-materials-note svg{font-size:1rem;flex-shrink:0}.exgen__instructions-toggle{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;background:none;border:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--color-muted-foreground);cursor:pointer;-webkit-tap-highlight-color:transparent}.exgen__instructions-chevron{font-size:14px;transition:transform .2s ease}.exgen__instructions-chevron--open{transform:rotate(90deg)}.exgen__instructions-dot{font-size:10px!important;padding:2px 6px!important;border-radius:var(--radius-full)!important}.exam-logo-row{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.exam-logo-preview{display:flex;align-items:center;gap:var(--space-sm)}.exam-logo-preview img{height:28px;width:auto;max-width:100px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.exam-logo-change{font-size:var(--font-size-xs);color:var(--color-primary);background:none;border:none;cursor:pointer;font-weight:600;text-decoration:underline}.exam-logo-change:hover{opacity:.8}@media (min-width: 992px){.exam-editor-content{max-width:720px;margin-left:auto;margin-right:auto}.exam-mode-toggle{padding-top:var(--space-xl);max-width:720px;margin:0 auto}}.ex-standalone-field{display:flex;flex-direction:column;gap:6px}.recipient-toggle--sub{margin-top:var(--space-xs)}@media (prefers-color-scheme: dark){.exam-format-preview rect[fill="#e2e8f0"]{fill:#334155}.exam-format-preview rect[stroke="#94a3b8"]{stroke:#64748b}.exam-format-preview line{stroke:currentColor}.exam-format-preview circle{stroke:currentColor}.exam-format-preview text{fill:currentColor}}.hero-name{display:flex;flex-direction:column;gap:8px;padding:var(--space-md) 0 var(--space-sm);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-xs)}.hero-name__label{font-size:12px;font-weight:600;color:var(--color-muted-foreground);letter-spacing:.01em}.hero-name__input{width:100%;border:none;border-bottom:1px solid var(--color-border);background:transparent;padding:4px 0 8px;font-family:inherit;font-size:20px;font-weight:700;color:var(--color-foreground);letter-spacing:-.015em;line-height:1.2;outline:none;-webkit-appearance:none;transition:border-color var(--transition-fast)}.hero-name__input:focus{border-bottom-color:var(--color-primary)}.hero-name__input::placeholder{color:color-mix(in oklab,var(--color-muted-foreground) 70%,transparent);font-weight:600}.hero-name__input:focus{outline:none}.hero-name__input--error{color:var(--color-destructive)}.hero-name__warning{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--color-destructive);margin:0}@media (min-width: 640px){.hero-name__input{font-size:26px}}.ex-card__head-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ex-card__head-text .ex-card__title{text-transform:none;letter-spacing:-.005em;font-size:var(--font-size-base);font-weight:600}.ex-card__head-text .ex-card__sub{font-size:12px;color:var(--color-muted-foreground);line-height:1.4}.ex-card--collapsible{padding:0;gap:0;overflow:hidden}.ex-card__toggle{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:transparent;border:none;font-family:inherit;text-align:left;cursor:pointer;width:100%;-webkit-tap-highlight-color:transparent}.ex-card__toggle:hover{background:color-mix(in oklab,var(--color-foreground) 3%,transparent)}.ex-card__chevron{margin-left:auto;font-size:22px;line-height:1;color:var(--color-muted-foreground);transition:transform .2s ease;flex-shrink:0}.ex-card__chevron--open{transform:rotate(90deg);color:var(--color-primary)}.ex-card--collapsible .ex-card__body{padding:0 var(--space-lg) var(--space-lg)}.recipient-toggle{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.recipient-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;background:var(--color-card);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);font-family:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.recipient-card:hover{border-color:color-mix(in oklab,var(--color-primary) 35%,var(--color-border))}.recipient-card:active{transform:scale(.985)}.recipient-card__icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary)}.recipient-card__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);letter-spacing:-.005em}.recipient-card__sub{font-size:11px;color:var(--color-muted-foreground);line-height:1.3}.recipient-card--active{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 6%,var(--color-card));box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 14%,transparent)}.recipient-card--active .recipient-card__icon{background:var(--color-primary);color:var(--color-primary-foreground)}.recipient-card--active .recipient-card__title{color:var(--color-primary)}.recipient-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-card)}.recipient-list__empty{padding:var(--space-md);text-align:center;font-size:var(--font-size-sm);color:var(--color-muted-foreground)}.recipient-list__quick{display:flex;gap:var(--space-sm);padding:8px var(--space-md);background:color-mix(in oklab,var(--color-foreground) 3%,var(--color-card));border-bottom:1px solid var(--color-border);flex-wrap:wrap}.recipient-list__quick button{background:none;border:none;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:500;color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent}.recipient-list__quick button:hover{background:color-mix(in oklab,var(--color-primary) 8%,transparent)}.recipient-list__items{max-height:280px;overflow-y:auto}.recipient-row{display:flex;align-items:center;gap:var(--space-sm);padding:10px var(--space-md);border-bottom:1px solid color-mix(in oklab,var(--color-border) 60%,transparent);cursor:pointer;transition:background-color var(--transition-fast);-webkit-tap-highlight-color:transparent}.recipient-row:last-child{border-bottom:none}.recipient-row:hover{background:color-mix(in oklab,var(--color-foreground) 3%,transparent)}.recipient-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}.recipient-row--active{background:color-mix(in oklab,var(--color-primary) 5%,transparent)}.recipient-row--active:hover{background:color-mix(in oklab,var(--color-primary) 8%,transparent)}.recipient-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.recipient-row__name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipient-row__meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--color-muted-foreground);min-width:0}.recipient-row__grade{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-muted-foreground)}.recipient-row__grade--fail{color:var(--color-destructive)}.recipient-row__weak{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.content-summary{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:color-mix(in oklab,var(--color-primary) 5%,transparent);border:1px solid color-mix(in oklab,var(--color-primary) 18%,transparent);border-radius:var(--radius-md)}.content-summary__chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:11px;font-weight:600;color:var(--color-foreground)}.content-summary__chip svg{color:var(--color-muted-foreground);flex-shrink:0}.content-summary__chip--accent{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-foreground)}.content-summary__chip--accent svg{color:var(--color-primary-foreground)}.content-source{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);overflow:hidden}.content-source__head{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:12px var(--space-md);background:transparent;border:none;font-family:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.content-source__head:hover{background:color-mix(in oklab,var(--color-foreground) 3%,transparent)}.content-source__head--static{cursor:default;border-bottom:1px solid var(--color-border);background:color-mix(in oklab,var(--color-foreground) 2%,transparent)}.content-source__head--static:hover{background:color-mix(in oklab,var(--color-foreground) 2%,transparent)}.content-source__head-left{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:0}.content-source__head-left>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.content-source__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:color-mix(in oklab,var(--color-primary) 10%,transparent);color:var(--color-primary);flex-shrink:0}.content-source__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground)}.content-source__sub{font-size:11px;color:var(--color-muted-foreground);line-height:1.3}.content-source__chevron{margin-left:auto;font-size:22px;line-height:1;color:var(--color-muted-foreground);transition:transform .2s ease;flex-shrink:0}.content-source__chevron--open{transform:rotate(90deg);color:var(--color-primary)}.content-source__body{padding:var(--space-md);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-sm)}.content-source__head--static+.content-source__body{border-top:none}.content-source__empty{font-size:var(--font-size-sm);color:var(--color-muted-foreground);text-align:center;padding:var(--space-md);margin:0}.content-source__preview{margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);background:color-mix(in oklab,var(--color-primary) 4%,transparent);border-radius:var(--radius-sm)}.content-source__preview-label{font-size:11px;font-weight:600;color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.content-source__preview-chips{display:flex;flex-wrap:wrap;gap:4px}.content-source__preview-empty{font-size:12px;color:var(--color-muted-foreground);font-style:italic;margin:0}.exam-pick-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.exam-pick-row{display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-card);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.exam-pick-row:hover{border-color:color-mix(in oklab,var(--color-primary) 30%,var(--color-border))}.exam-pick-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);flex-shrink:0;cursor:pointer}.exam-pick-row--active{border-color:var(--color-primary);background:color-mix(in oklab,var(--color-primary) 5%,var(--color-card))}.exam-pick-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.exam-pick-row__name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-pick-row__meta{font-size:11px;color:var(--color-muted-foreground)}.ai-instructions{font-family:inherit;font-size:var(--font-size-base);line-height:1.5;resize:vertical;min-height:96px}.upload-item--compact{padding:10px 12px;min-height:56px;border-radius:var(--radius-md);border-width:1px;background:color-mix(in oklab,var(--color-primary) 3%,var(--color-card))}.upload-item--compact .upload-item-icon{width:36px;height:36px}.upload-item--compact h3{font-size:var(--font-size-sm)}@media (max-width: 480px){.exam-editor-form{padding:var(--space-md);gap:var(--space-sm)}.exam-mode-toggle{grid-template-columns:1fr;padding:var(--space-md) var(--space-md) 0}.ex-card{padding:var(--space-md);gap:var(--space-sm)}.ex-card__header{flex-wrap:wrap}.hero-name{padding:var(--space-sm) 0 var(--space-xs)}.hero-name__input{font-size:20px}.recipient-card{padding:10px 12px;border-radius:var(--radius-md);gap:4px}.recipient-card__icon{width:26px;height:26px}.recipient-card__title{font-size:13px}.recipient-card__sub{font-size:10.5px;line-height:1.25}.recipient-list__quick{overflow-x:auto;flex-wrap:nowrap}.recipient-list__quick button{white-space:nowrap}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.pdf-viewer{display:flex;flex-direction:column;height:100%;background:#1a1a1e;min-height:0}.pdf-viewer__toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:2;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.pdf-viewer__title{font-size:var(--font-size-sm);font-weight:600;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.pdf-viewer__controls{display:flex;align-items:center;gap:2px;flex-shrink:0}.pdf-viewer__btn{color:#ffffffb3!important;padding:4px!important;height:28px!important;width:28px!important}.pdf-viewer__btn:hover{color:#fff!important;background:#ffffff1a!important}.pdf-viewer__zoom{font-size:11px;color:#ffffff80;font-weight:600;min-width:36px;text-align:center;font-variant-numeric:tabular-nums}.pdf-viewer__page-info{font-size:11px;color:#fff6;margin-left:var(--space-sm);white-space:nowrap}.pdf-viewer__pages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-lg);min-height:0}.pdf-viewer__page-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.pdf-viewer__page{background:#fff;border-radius:4px;box-shadow:0 4px 24px #0006;overflow:hidden}.pdf-viewer__page canvas{display:block!important;max-width:100%;height:auto!important}.pdf-viewer__page-number{font-size:10px;color:#ffffff59;font-weight:500;font-variant-numeric:tabular-nums}.pdf-viewer__loading,.pdf-viewer__error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-4xl);color:#ffffff80;font-size:var(--font-size-sm)}.pdf-viewer__spinner{width:28px;height:28px;border:2.5px solid rgba(255,255,255,.15);border-top-color:#fff9;border-radius:50%;animation:pdf-spin .8s linear infinite}@keyframes pdf-spin{to{transform:rotate(360deg)}}.qsb{display:flex;flex-direction:column;gap:var(--space-sm);width:100%}.qsb__svg{width:100%;height:16px;display:block;border-radius:var(--radius-sm);overflow:visible}.qsb--compact .qsb__svg{height:10px}.qsb__segment{transition:opacity var(--transition-fast)}.qsb__segment:hover{opacity:.8}.qsb__legend{display:flex;gap:var(--space-xs);flex-wrap:wrap}.qsb__legend span{font-size:var(--font-size-xs);--padding-start: 6px;--padding-end: 6px;--padding-top: 2px;--padding-bottom: 2px}.war{margin:0 auto}.war__svg{width:100%;height:100%}.war__guide{fill:none;stroke:var(--color-border-strong, rgba(15, 23, 42, .06));stroke-width:1}.war__axis{stroke:var(--color-border, rgba(15, 23, 42, .04));stroke-width:.5}.war__data{fill:#15665e26;stroke:var(--color-primary);stroke-width:2;transition:all var(--transition-base)}.war__dot{fill:var(--color-primary);stroke:var(--color-surface, #ffffff);stroke-width:1.5}.war__label{font-size:10px;font-family:var(--font-sans);fill:var(--color-text-secondary, #64748B);font-weight:500}.war-fallback{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.war-fallback__tag{display:inline-flex;align-items:center;gap:var(--space-xs);padding:4px 10px;border-radius:var(--radius-full);background:#15665e14;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:600}.war-fallback__count{background:#15665e26;border-radius:var(--radius-full);padding:1px 6px;font-size:10px;font-weight:700}@media (prefers-color-scheme: dark){.war__guide{stroke:var(--color-border-strong, rgba(255, 255, 255, .08))}.war__axis{stroke:var(--color-border, rgba(255, 255, 255, .06))}.war__dot{stroke:var(--color-surface, #16161A)}.war__label{fill:var(--color-text-secondary, #A1A1AA)}}.gd{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.gd__svg{width:100%;height:auto}.gd__bg{opacity:.5}.gd__segment{transition:stroke-dasharray var(--transition-slow),stroke-dashoffset var(--transition-slow);transform-origin:center}.gd__center-value{font-family:var(--font-sans);font-size:22px;font-weight:800;fill:var(--color-text-primary, #0F172A);letter-spacing:-.02em}.gd__center-label{font-family:var(--font-sans);font-size:10px;font-weight:500;fill:var(--color-text-tertiary, #94A3B8);text-transform:uppercase;letter-spacing:.3px}.gd__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm) var(--space-md)}.gd__legend-item{display:flex;align-items:center;gap:var(--space-xs)}.gd__legend-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.gd__legend-label{font-size:var(--font-size-xs);color:var(--color-text-secondary, #64748B);font-weight:500}.gd__legend-count{font-size:var(--font-size-xs);color:var(--color-text-tertiary, #94A3B8);font-weight:600}@media (prefers-color-scheme: dark){.gd__bg{stroke:var(--color-border-strong, rgba(255, 255, 255, .08))}.gd__center-value{fill:var(--color-text-primary, #F1F5F9)}.gd__center-label{fill:var(--color-text-tertiary, #71717A)}.gd__legend-label{color:var(--color-text-secondary, #A1A1AA)}.gd__legend-count{color:var(--color-text-tertiary, #71717A)}}.sbars{display:flex;flex-direction:column;gap:8px}.sbars__row{display:flex;align-items:center;gap:8px;cursor:pointer}.sbars__row[role=button]:active{opacity:.7}.sbars__label{width:64px;font-size:11px;font-weight:600;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.sbars__track{flex:1;height:14px;background:var(--color-muted);border-radius:7px;position:relative;overflow:hidden}.sbars__fill{height:100%;border-radius:7px;transition:width .4s ease;min-width:2px}.sbars__pass-line{position:absolute;top:0;bottom:0;width:1.5px;background:#0003;z-index:1}.sbars__value{width:32px;text-align:right;font-size:12px;font-weight:700;flex-shrink:0}.sbars__value--pass{color:var(--color-success)}.sbars__value--fail{color:var(--color-danger)}@media (prefers-color-scheme: dark){.sbars__track{background:#ffffff14}.sbars__pass-line{background:#fff3}}.rv-row{border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.rv-row:last-child{border-bottom:none}.rv-row--highlighted{background:#15665e0a}.rv-row__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);width:100%;padding:var(--space-md) var(--space-lg);background:transparent;border:none;font-family:inherit;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.rv-row__header:active{background:#15665e0a}.rv-row__left{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.rv-row__name{font-size:var(--font-size-base);font-weight:600;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-row__weak-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rv-row__right{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.rv-row__pct{font-size:var(--font-size-xs);font-weight:700;padding:2px 7px;border-radius:var(--radius-full)}.rv-row__pct--pass{color:var(--color-success);background:#22c55e1a}.rv-row__pct--fail{color:var(--color-danger);background:#dc26261a}.rv-row__grade{font-size:var(--font-size-base);font-weight:700;padding:4px 10px;border-radius:var(--radius-md)}.rv-row__grade--pass{color:var(--color-success);background:#22c55e1a}.rv-row__grade--fail{color:var(--color-danger);background:#dc26261a}.rv-row__grade-max{font-size:var(--font-size-xs);opacity:.6;font-weight:500}.rv-row__grade-display{display:flex;align-items:center;gap:4px;cursor:pointer;padding:2px;border-radius:var(--radius-md);transition:background var(--transition-fast)}.rv-row__grade-display:hover{background:#15665e14}.rv-row__edit-icon{font-size:12px;color:var(--color-primary);opacity:0;transition:opacity var(--transition-fast)}.rv-row__grade-display:hover .rv-row__edit-icon{opacity:1}.rv-row__grade-edit{display:flex;align-items:center;gap:4px;background:#15665e14;padding:4px 8px;border-radius:var(--radius-md)}.rv-row__grade-input{width:50px;--background: var(--color-surface);--padding-start: 6px;--padding-end: 4px;border-radius:var(--radius-sm);font-weight:700;font-size:var(--font-size-base);text-align:center;height:32px;border:1px solid var(--color-border)}.rv-row__grade-edit svg{width:18px;height:18px}.rv-row__chevron{font-size:16px;color:var(--color-text-muted);transition:transform var(--transition-fast)}.rv-row__inline-bar{max-width:120px;margin-top:2px}.rv-row__body{padding:0 var(--space-lg) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.rv-row__summary-strip{display:flex;gap:var(--space-md)}.rv-row__summary-content{flex:1;display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.rv-row__thumb{width:60px;height:78px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;position:relative;cursor:pointer;border:1px solid var(--color-border);background:#f1f5f9}.rv-row__thumb img{width:100%;height:100%;object-fit:cover}.rv-row__thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.rv-row__thumb:hover .rv-row__thumb-overlay,.rv-row__thumb:active .rv-row__thumb-overlay{opacity:1}.rv-row__pdf-link{display:flex;align-items:center;gap:6px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#15665e0a;color:var(--color-primary);font-size:var(--font-size-sm);font-weight:500;font-family:inherit;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.rv-row__pdf-link:active{background:#15665e1a}.rv-row__pdf-actions{display:flex;gap:8px;flex-shrink:0}.rv-row__pdf-link--download{background:transparent;border-color:var(--color-primary)}.rv-row__pdf-link--download:active{background:#15665e14}.rv-row__download-btn{display:flex;align-items:center;gap:6px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-primary);font-size:var(--font-size-xs);font-weight:500;font-family:inherit;cursor:pointer;transition:background var(--transition-fast)}.rv-row__download-btn:active{background:#15665e14}.rv-row--no-grade .rv-row__header{opacity:.75}.rv-row__grade--none{color:var(--color-text-muted)!important;background:#0f172a0a!important}.rv-row__pending-hint{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:#bf6905}.rv-row__no-ai-msg{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--space-sm) 0}.rv-row__stats{flex:1;display:flex;flex-direction:column;gap:var(--space-sm)}.rv-row__stat-badges{display:flex;flex-wrap:wrap;gap:4px}.rv-row__stat-badges span{font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:2px 8px}.rv-row__weak-section{padding:8px 12px;background:#dc26260a;border-radius:var(--radius-md);border:1px solid rgba(220,38,38,.08)}.rv-row__weak-label{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-danger);margin-bottom:6px}.rv-row__weak-tags{display:flex;flex-wrap:wrap;gap:5px}.rv-row__weak-tag{font-size:11px;font-weight:500;padding:3px 10px;border-radius:var(--radius-full);background:#dc26261a;color:var(--color-danger)}.rv-row__questions{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}.rv-row__q{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border-radius:var(--radius-md);border-left:3px solid transparent}.rv-row__q--correct{background:#22c55e0d;border-left-color:var(--color-success)}.rv-row__q--partial{background:#f59e0b0d;border-left-color:var(--color-warning)}.rv-row__q--incorrect{background:#dc26260d;border-left-color:var(--color-danger)}.rv-row__q--blank{background:#0f172a08;border-left-color:#cbd5e1}.rv-row__q-head{display:flex;align-items:center;gap:6px}.rv-row__q-id{font-weight:700;font-size:var(--font-size-sm)}.rv-row__q-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--radius-full);margin-left:auto}.rv-row__q-badge--correct{background:#22c55e1f;color:var(--color-success)}.rv-row__q-badge--partial{background:#f59e0b1f;color:#bf6905}.rv-row__q-badge--incorrect{background:#dc26261f;color:var(--color-danger)}.rv-row__q-badge--blank{background:#0f172a0f;color:#94a3b8}.rv-row__q-feedback{font-size:11px;color:#64748b;line-height:1.4;margin-top:2px}.rv-row__q-feedback--clamped{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}.rv-row__q-toggle{background:none;border:none;padding:0;font-size:10px;font-weight:600;color:var(--color-primary);cursor:pointer;text-align:left}.rv-row__section{padding:var(--space-sm) var(--space-md);background:#0f172a05;border-radius:var(--radius-sm);border-left:3px solid var(--color-border)}.rv-row__section-label{display:block;font-size:10px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.rv-row__section-text{margin:0;font-size:var(--font-size-sm);color:var(--color-foreground);line-height:1.5}@media (prefers-color-scheme: dark){.rv-row{border-bottom-color:#ffffff0f}.rv-row--highlighted{background:#8b5cf614}.rv-row__header:active{background:#ffffff0a}.rv-row__thumb{background:#1e1e24;border-color:#ffffff14}.rv-row__q--correct{background:#22c55e1a}.rv-row__q--partial{background:#f59e0b1a}.rv-row__q--incorrect{background:#dc26261a}.rv-row__q--blank{background:#ffffff0a;border-left-color:#52525b}.rv-row__q-feedback{color:#94a3b8}.rv-row__weak-section{background:#dc26260f;border-color:#dc26261a}.rv-row__weak-tag{background:#dc262626}.rv-row__section{background:#ffffff08;border-left-color:#ffffff1a}}@media (max-width: 380px){.rv-row__header{padding:var(--space-sm) var(--space-md)}.rv-row__body{padding:0 var(--space-md) var(--space-md)}.rv-row__questions{grid-template-columns:1fr}}.rv-row__header:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.rv-row__comment-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;margin-top:8px;font-size:13px;color:var(--color-primary);background:none;border:1px solid var(--color-primary);border-radius:var(--radius-full, 20px);cursor:pointer;transition:background .15s}.rv-row__comment-btn:active{background:#15665e14}.scan-card{margin:8px 0;border-radius:12px;background:var(--color-card, #fff);border:1px solid var(--color-border, rgba(15, 23, 42, .08));transition:border-color .15s,box-shadow .15s}.scan-card:hover{border-color:#0f172a29}.scan-card-saved{border-left:3px solid var(--color-success, #059669)}.scan-card-modified{border-left:3px solid var(--color-warning, #D97706)}.scan-card-ai-active{border-left:3px solid var(--color-primary, #15665E);box-shadow:0 0 0 1px #15665e1a}.scan-card-header{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.scan-card-index{font-size:11px;font-weight:700;color:#94a3b8;min-width:18px}.scan-card-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.scan-card-dot--ok{background:#10b981;box-shadow:0 0 0 3px #10b98126}.scan-card-dot--missing{background:transparent;border:1.5px dashed #CBD5E1}.scan-card-dot--np{background:#94a3b8}.scan-card-name{flex:1;font-size:14px;font-weight:600;color:var(--color-foreground, #0F172A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.scan-card-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.scan-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent;background:transparent;cursor:default;white-space:nowrap}.scan-pill--muted{color:#94a3b8}.scan-pill--np{color:#475569;background:#f1f5f9;border-color:#e2e8f0}.scan-pill--info{color:#1e40af;background:#eff6ff;border-color:#dbeafe}.scan-pill--ai{color:#6d28d9;background:#f5f3ff;border-color:#e9d5ff}.scan-pill--action,.scan-pill--ai-action{cursor:pointer;transition:background-color .15s,color .15s}.scan-pill--action{color:#1e40af;background:#eff6ff;border-color:#dbeafe}.scan-pill--action:hover{background:#dbeafe}.scan-pill--ai-action{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.scan-pill--ai-action:hover{background:#ede9fe}.scan-card-grade-chip{font-size:13px;font-weight:700;padding:3px 8px;border-radius:6px;background:#0f172a0a}.scan-card-grade-chip__max{font-weight:500;color:#94a3b8;margin-left:1px}.scan-card-grade--pass{color:#047857;background:#10b9811a}.scan-card-grade--fail{color:#b91c1c;background:#ef44441a}.scan-card-grade--pending{color:#94a3b8}.scan-card-kebab{position:relative}.scan-card-kebab>summary{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;list-style:none;cursor:pointer;color:#64748b;transition:background .15s}.scan-card-kebab>summary::-webkit-details-marker{display:none}.scan-card-kebab>summary:hover{background:#0f172a0f;color:#0f172a}.scan-card-kebab__menu{position:absolute;right:0;top:calc(100% + 4px);min-width:200px;background:#fff;border:1px solid #E2E8F0;border-radius:8px;box-shadow:0 10px 30px #0f172a1f;padding:4px;z-index:30;display:flex;flex-direction:column}.scan-card-kebab__item{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:13px;color:#1f2937;background:transparent;border:0;border-radius:6px;cursor:pointer;text-align:left;white-space:nowrap}.scan-card-kebab__item:hover{background:#f1f5f9}.scan-card-kebab__item--danger{color:#dc2626}.scan-card-kebab__item--danger:hover{background:#fee2e2}.scan-card-chevron{color:#94a3b8;transition:transform .2s;flex-shrink:0}.scan-card-chevron--open{transform:rotate(180deg)}.scan-card-bar{padding:0 14px 10px;cursor:pointer}.scan-card-body{padding:12px 14px 14px;border-top:1px solid rgba(15,23,42,.06);display:flex;flex-direction:column;gap:10px}.scan-card-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scan-card-icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid #E2E8F0;background:#fff;color:#475569;cursor:pointer;transition:all .15s;flex-shrink:0}.scan-card-icon-btn:hover{background:#f8fafc;color:#0f172a;border-color:#cbd5e1}.scan-card-name-input{flex:1;min-width:160px;height:32px;font-size:13px}.scan-card-grade-box{display:flex;align-items:center;gap:2px;background:#0f172a0a;border-radius:6px;padding:2px 4px}.scan-card-grade-box--mod{background:#d977061f}.scan-card-grade-num{width:52px;height:28px;background:transparent;border:0;text-align:center;font-weight:700;font-size:14px;padding:0}.scan-card-grade-max{font-size:12px;color:#94a3b8;font-weight:500}.scan-card-save{height:32px;font-size:13px;padding:0 12px;display:inline-flex;align-items:center;gap:4px}.scan-card-autosaved-hint{font-size:11px;color:var(--color-success, #059669);margin:-4px 0 0}.scan-card-ai-suggest{display:flex;align-items:center;gap:4px;padding:6px 8px;font-size:12px;color:#6d28d9;background:#f5f3ff;border-radius:6px;margin:0}.scan-card-ai{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:#6366f10a;border:1px solid rgba(99,102,241,.12);border-radius:8px}.scan-card-ai-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.scan-card-ai-head-left{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#4c1d95}.scan-card-ai-meta{font-weight:500;color:#64748b;margin-left:4px}.scan-card-link{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:#6d28d9;background:transparent;border:1px solid #DDD6FE;border-radius:999px;padding:3px 9px;cursor:pointer;transition:background .15s}.scan-card-link:hover{background:#f5f3ff}.scan-q-grid{display:flex;flex-wrap:wrap;gap:4px}.scan-q-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent;cursor:default}.scan-q-pill__id{font-weight:700;letter-spacing:.02em}.scan-q-pill__label{font-weight:500;opacity:.85}.scan-q-pill__pts{font-weight:600;font-size:10px;margin-left:2px}.scan-q-pill--correct{background:#10b9811a;color:#047857;border-color:#10b98133}.scan-q-pill--partial{background:#d977061a;color:#b45309;border-color:#d9770633}.scan-q-pill--incorrect{background:#ef44441a;color:#b91c1c;border-color:#ef444433}.scan-q-pill--blank{background:#0f172a0a;color:#64748b;border-color:#0f172a14}.scan-card-summary{margin:0;font-size:12px;line-height:1.5;color:#475569}.scan-card-weak{display:flex;flex-wrap:wrap;gap:4px}.scan-card-weak-tag{font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;background:#ef444414;color:#b91c1c}.scan-card-ai-empty{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.scan-card-ai-empty-running{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#f5f3ff;border-radius:6px;font-size:12px;color:#6d28d9;font-weight:500}.scan-card-ai-btn{height:30px;font-size:12px}.scan-card-hint{font-size:11px;color:#94a3b8;margin:0}.scan-card-error{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#ef444414;border-radius:6px;font-size:12px;color:#b91c1c}.scan-card-notes{font-size:13px;background:#0f172a08;border:1px solid rgba(15,23,42,.06);resize:vertical}.scan-card-notes-saved{margin:0;padding:6px 10px;background:#0f172a08;border-radius:6px;font-size:12px;color:#475569;line-height:1.4}@media (prefers-color-scheme: dark){.scan-card{background:var(--color-surface);border-color:#ffffff14}.scan-card-grade-num{color:#f1f5f9}.scan-card-grade-chip{background:#ffffff0f}.scan-card-grade--pending{color:#64748b}.scan-card-icon-btn{background:#ffffff0a;border-color:#ffffff1a;color:#cbd5e1}.scan-card-icon-btn:hover{background:#ffffff14;color:#f1f5f9}.scan-card-ai{background:#6366f11a;border-color:#6366f133}.scan-card-ai-head-left{color:#c4b5fd}.scan-card-summary{color:#94a3b8}.scan-q-pill--blank{background:#ffffff0a;color:#94a3b8}.scan-card-notes,.scan-card-notes-saved{background:#ffffff0a;border-color:#ffffff0f}.scan-card-kebab__menu{background:var(--color-surface);border-color:#ffffff1a}.scan-card-kebab__item{color:#e2e8f0}.scan-card-kebab__item:hover{background:#ffffff0f}}.scan-card:focus-visible{outline:2px solid var(--color-primary, #15665E);outline-offset:2px}.qrt{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface, #ffffff);overflow:hidden}.qrt__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:#f59e0b0f;border-bottom:1px solid var(--color-border)}.qrt__header-label{font-size:var(--font-size-sm);font-weight:600;color:#bf6905}.qrt__header-count{font-size:var(--font-size-xs);font-weight:700;background:#f59e0b26;color:#bf6905;padding:1px 8px;border-radius:var(--radius-full)}.qrt__list{display:flex;flex-direction:column}.qrt__row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);min-height:48px;transition:background var(--transition-fast)}.qrt__row:last-child{border-bottom:none}.qrt__row--auto{background:#22c55e08}.qrt__row--assigned{background:#15665e05}.qrt__thumb{width:32px;height:40px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;position:relative;cursor:pointer;border:1px solid var(--color-border);background:#f1f5f9;display:flex;align-items:center;justify-content:center}.qrt__thumb img{width:100%;height:100%;object-fit:cover}.qrt__thumb-icon{font-size:16px;color:var(--color-text-muted)}.qrt__thumb-spinner{width:14px;height:14px}.qrt__thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.qrt__thumb:hover .qrt__thumb-overlay,.qrt__thumb:active .qrt__thumb-overlay{opacity:1}.qrt__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.qrt__meta{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.qrt__index{font-size:var(--font-size-xs);font-weight:700;color:var(--color-foreground)}.qrt__code{display:inline-block;background:#15665e1a;color:var(--color-primary);font-size:10px;font-weight:600;font-family:monospace;padding:1px 6px;border-radius:var(--radius-sm)}.qrt__badge{font-size:10px!important;padding:1px 6px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:2px}.qrt__reason{display:inline-flex;align-items:center;gap:2px;font-size:10px;color:#bf6905;font-weight:500}.qrt__select{--padding-start: var(--space-xs);--padding-end: var(--space-xs);--padding-top: 2px;--padding-bottom: 2px;font-size:var(--font-size-sm);min-height:28px;border-radius:var(--radius-sm);background:#0f172a08;border:1px solid var(--color-border);max-width:100%}.qrt__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.qrt__action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-primary);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.qrt__action-btn:active{background:#15665e14}.qrt__action-btn--danger{color:var(--color-danger);border-color:#dc26264d}.qrt__action-btn--danger:active{background:#dc262614}.qrt__download{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-primary);cursor:pointer;flex-shrink:0;transition:background var(--transition-fast)}.qrt__download:active{background:#15665e14}@media (prefers-color-scheme: dark){.qrt{background:var(--color-surface, #16161A);border-color:#ffffff0f}.qrt__header{background:#f59e0b14;border-bottom-color:#ffffff0f}.qrt__row{border-bottom-color:#ffffff0a}.qrt__thumb{background:#1e1e24;border-color:#ffffff14}.qrt__select{background:#ffffff0a;border-color:#ffffff14}.qrt__download{border-color:#ffffff14}}@media (max-width: 380px){.qrt__row{padding:var(--space-xs) var(--space-sm);gap:var(--space-xs)}.qrt__thumb{width:28px;height:36px}}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#000000a6;animation:celebrationFadeIn .3s ease forwards;cursor:pointer}.celebration-overlay__content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-2xl)}.celebration-overlay__icon{color:#059669;animation:celebrationScaleUp .5s cubic-bezier(.34,1.56,.64,1) forwards}.celebration-overlay__message{font-size:var(--font-size-xl, 1.5rem);font-weight:700;color:#fff;margin:var(--space-lg) 0 0;line-height:1.3}.celebration-overlay__subtitle{font-size:var(--font-size-sm, .875rem);color:#ffffffb3;margin:var(--space-xs) 0 0;line-height:1.5}@keyframes celebrationFadeIn{0%{opacity:0}to{opacity:1}}@keyframes celebrationScaleUp{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.es{background:var(--card);border:1px solid var(--border);border-radius:.7rem;overflow:hidden;position:relative}.es__meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem .9rem;border-bottom:1px solid var(--border);background:color-mix(in oklab,var(--muted) 35%,transparent);font-size:.72rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.es__meta-counts{display:flex;align-items:center;gap:.4rem;min-width:0}.es__meta-count strong{color:var(--foreground);font-weight:600}.es__meta-sep{opacity:.45}.es__meta-actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0}.es__meta-link{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:.35rem;border:1px solid transparent;background:transparent;color:var(--muted-foreground);font-size:.7rem;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.es__meta-link:hover{background:var(--card);border-color:var(--border);color:var(--foreground)}.es-save{display:inline-flex;align-items:center;gap:.25rem;padding:.1rem .4rem;border-radius:999px;font-size:.65rem;font-weight:500;line-height:1;height:1.25rem}.es-save--dirty,.es-save--saving{background:color-mix(in oklab,#f59e0b 15%,transparent);color:#a16207}.es-save--saved{background:color-mix(in oklab,#059669 15%,transparent);color:#047857}.es-save--error{background:color-mix(in oklab,#dc2626 15%,transparent);color:#b91c1c}.es__sheet{padding:.55rem;border-radius:.7rem;background:color-mix(in oklab,var(--color-foreground) 3.5%,transparent);border:1px solid color-mix(in oklab,var(--color-foreground) 5%,transparent)}.es-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:.55rem;box-shadow:var(--shadow-xs);overflow:hidden}.es-section+.es-section{margin-top:.6rem}.es-section__head{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:color-mix(in oklab,var(--color-primary) 7%,transparent);border-bottom:1px solid color-mix(in oklab,var(--color-primary) 16%,var(--color-border));margin:0}.es-section__marker{display:inline-flex;align-items:center;justify-content:center;min-width:1.9rem;height:1.65rem;padding:0 .5rem;font-weight:700;font-size:.74rem;color:var(--color-primary-foreground);background:var(--color-primary);border-radius:.42rem;font-variant-numeric:tabular-nums;letter-spacing:.02em;flex-shrink:0;box-shadow:0 1px 2px color-mix(in oklab,var(--color-primary) 30%,transparent)}.es-section__title-wrap{display:flex;align-items:baseline;gap:.55rem;flex:1;min-width:0}.es-section__title{font-weight:700;font-size:.95rem;line-height:1.25;color:var(--foreground);letter-spacing:-.005em;flex:1;min-width:0}.es-section__pts{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:.35rem;font-size:.7rem;font-weight:600;color:color-mix(in oklab,var(--color-primary) 80%,var(--foreground));background:color-mix(in oklab,var(--color-primary) 7%,transparent);font-variant-numeric:tabular-nums;flex-shrink:0;white-space:nowrap}.es-section__add-row{padding:.2rem .55rem .55rem}.es-q-list{list-style:none;padding:.35rem .55rem .45rem;margin:0;display:flex;flex-direction:column}.es-q-list__empty{padding:.5rem 0}.es-q-wrap{display:flex;flex-direction:column}.es-q-wrap+.es-q-wrap{border-top:1px solid color-mix(in oklab,var(--color-border) 70%,transparent)}.es-add-between{display:flex;align-items:center;gap:.4rem;width:100%;padding:0;margin:0;height:.6rem;background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .18s ease,height .18s ease;overflow:hidden}.es-q-wrap:hover .es-add-between,.es-add-between:focus-visible{opacity:1;height:1.4rem}@media (hover: none){.es-add-between{opacity:.55;height:1.1rem}}.es-add-between__line{flex:1;height:1px;background:color-mix(in oklab,var(--primary, #6366f1) 30%,var(--border))}.es-add-between__chip{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .5rem;border-radius:9999px;font-size:.6rem;font-weight:600;background:color-mix(in oklab,var(--primary, #6366f1) 10%,var(--card));color:color-mix(in oklab,var(--primary, #6366f1) 90%,var(--foreground));border:1px solid color-mix(in oklab,var(--primary, #6366f1) 30%,var(--border));letter-spacing:.02em;text-transform:lowercase;flex-shrink:0}.es-add-between:hover .es-add-between__chip{background:color-mix(in oklab,var(--primary, #6366f1) 18%,var(--card))}.es-add-between--section{height:.7rem;margin-top:.4rem}.es-q-wrap:hover .es-add-between--section,.es-add-between--section:focus-visible{height:1.4rem}.es-add-between__chip--section{background:color-mix(in oklab,var(--muted) 70%,transparent);color:var(--muted-foreground);border-color:var(--border)}@media (hover: none){.es-add-between--section{height:1.1rem;opacity:.55}}.es-q{display:grid;grid-template-columns:1.9rem 1fr auto;gap:.55rem;padding:.5rem .2rem;align-items:start;border-radius:.4rem;transition:background .12s ease;margin:0}.es-q:hover{background:color-mix(in oklab,var(--color-foreground) 3%,transparent)}.es-q--collapsed{align-items:center;cursor:pointer;padding:.6rem .25rem;min-height:2.65rem}.es-q--expanded{background:color-mix(in oklab,var(--color-primary) 4%,transparent);border-radius:.45rem;padding:.65rem .5rem .7rem;box-shadow:inset 3px 0 color-mix(in oklab,var(--color-primary) 55%,transparent)}.es-q--ai{background:color-mix(in oklab,var(--color-primary) 7%,transparent);border-radius:.4rem;align-items:center;padding:.55rem .4rem;box-shadow:inset 3px 0 0 var(--color-primary)}.es-q-wrap:has(.es-q--expanded),.es-q-wrap:has(.es-q--ai){border-top-color:transparent!important}.es-q__num{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.4rem;padding:0 .35rem;border-radius:.35rem;background:color-mix(in oklab,var(--muted) 70%,transparent);color:var(--foreground);font-variant-numeric:tabular-nums;font-weight:700;font-size:.72rem;line-height:1}.es-q--collapsed .es-q__num,.es-q--ai .es-q__num{align-self:center}.es-q--expanded .es-q__num{margin-top:.1rem;background:color-mix(in oklab,var(--primary, #6366f1) 12%,transparent);color:color-mix(in oklab,var(--primary, #6366f1) 90%,var(--foreground))}.es-q__preview{display:flex;align-items:center;gap:.5rem;min-width:0;background:transparent;border:none;padding:.05rem .1rem;text-align:left;cursor:pointer;font:inherit;color:inherit;border-radius:.3rem}.es-q__preview:hover{background:color-mix(in oklab,var(--primary, #6366f1) 5%,transparent)}.es-q__preview-text{flex:1;min-width:0;font-size:.82rem;line-height:1.4;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-q__preview-chips{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.es-q__chip{display:inline-flex;align-items:center;gap:.15rem;padding:.15rem .45rem;border-radius:.35rem;font-size:.65rem;font-weight:600;background:color-mix(in oklab,var(--muted) 70%,transparent);color:var(--muted-foreground);letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums}.es-q__chip--test{background:color-mix(in oklab,#14b8a6 14%,transparent);color:#0f766e}.es-q__chip--pts{background:color-mix(in oklab,var(--primary, #6366f1) 14%,transparent);color:color-mix(in oklab,var(--primary, #6366f1) 85%,var(--foreground));border:1px solid color-mix(in oklab,var(--primary, #6366f1) 18%,transparent)}.es-q__chip small{font-size:.52rem;font-weight:500;opacity:.7;margin-left:.1rem}@media (max-width: 539px){.es-q__chip:not(.es-q__chip--pts):not(.es-q__chip--test){display:none}}.es-q__row-actions{display:inline-flex;align-items:center;gap:.05rem;flex-shrink:0}.es-q__ai-btn{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:.35rem;border:none;background:transparent;color:color-mix(in oklab,var(--primary, #6366f1) 75%,var(--muted-foreground));cursor:pointer;transition:background .12s ease,color .12s ease}.es-q__ai-btn:hover{background:color-mix(in oklab,var(--primary, #6366f1) 12%,transparent);color:color-mix(in oklab,var(--primary, #6366f1) 95%,var(--foreground))}.es-q__body{min-width:0;display:flex;flex-direction:column;gap:.4rem}.es-q__text{font-size:.82rem;line-height:1.45;color:var(--foreground)}.es-q__side{display:flex;align-items:center;gap:.2rem;flex-shrink:0;padding-top:.05rem}.es-q__visual-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;background:color-mix(in oklab,var(--primary, #6366f1) 6%,transparent);color:var(--muted-foreground);border-radius:999px;font-size:.65rem;width:fit-content}.es-q__visual-link{background:none;border:none;padding:0;color:var(--primary, #6366f1);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}.es-sub-list{list-style:none;padding:0;margin:.15rem 0 0;display:flex;flex-direction:column;gap:.15rem}.es-sub{display:grid;grid-template-columns:1.2rem 1fr auto;gap:.4rem;align-items:start;padding:.2rem .25rem;border-radius:.3rem;font-size:.78rem;line-height:1.4}.es-sub:hover{background:color-mix(in oklab,var(--accent) 30%,transparent)}.es-sub__label{font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-weight:500;text-align:right}.es-opt-list{list-style:none;padding:0;margin:.15rem 0 0;display:flex;flex-direction:column;gap:.15rem}.es-opt{display:grid;grid-template-columns:1.1rem 1.1rem 1fr;gap:.4rem;align-items:center;padding:.2rem .25rem;border-radius:.3rem;font-size:.78rem}.es-opt--correct{background:color-mix(in oklab,#059669 6%,transparent)}.es-opt__radio{width:1.1rem;height:1.1rem;border-radius:999px;border:1.5px solid var(--border);display:inline-flex;align-items:center;justify-content:center;background:var(--background);color:#fff;cursor:pointer;transition:background .12s ease,border-color .12s ease}.es-opt__radio:disabled{cursor:default}.es-opt--correct .es-opt__radio{background:#059669;border-color:#059669}.es-opt__label{font-variant-numeric:tabular-nums;color:var(--muted-foreground);font-weight:500}.es-add-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:.35rem;border:1px dashed var(--border);background:transparent;color:var(--muted-foreground);font-size:.72rem;font-weight:500;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.es-add-btn:hover{border-color:color-mix(in oklab,var(--primary, #6366f1) 40%,var(--border));color:var(--primary, #6366f1);background:color-mix(in oklab,var(--primary, #6366f1) 4%,transparent)}.es-inline{display:inline;font:inherit;color:inherit;background:none;border:none;padding:0;margin:0;text-align:left;cursor:inherit;min-width:0;width:100%}.es-inline--ro{cursor:default}.es-inline--clickable{cursor:text;border-radius:.2rem;padding:.05rem .15rem;margin:-.05rem -.15rem;transition:background .1s ease}.es-inline--clickable:hover{background:color-mix(in oklab,var(--primary, #6366f1) 7%,transparent)}.es-inline--clickable:focus-visible{outline:2px solid color-mix(in oklab,var(--primary, #6366f1) 50%,transparent);outline-offset:1px}.es-inline__placeholder{color:var(--muted-foreground);font-style:italic;opacity:.75}.es-inline__textarea{width:100%;padding:.3rem .4rem;font:inherit;resize:none;border-radius:.35rem;border:1px solid color-mix(in oklab,var(--primary, #6366f1) 45%,var(--border));background:var(--background);outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--primary, #6366f1) 10%,transparent);min-height:2.5rem}.es-inline__input{padding:.2rem .4rem;font:inherit;font-weight:600;border-radius:.35rem;border:1px solid color-mix(in oklab,var(--primary, #6366f1) 45%,var(--border));background:var(--background);outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--primary, #6366f1) 10%,transparent);width:100%;min-width:0}.es-pts{display:inline-flex;align-items:center;gap:.1rem;font-size:.68rem;font-weight:600;color:var(--muted-foreground);font-variant-numeric:tabular-nums;padding:.12rem .45rem;border-radius:.3rem;background:color-mix(in oklab,var(--muted) 60%,transparent);min-width:2.4rem;justify-content:center;line-height:1}.es-pts small{font-size:.58rem;font-weight:500;opacity:.6;margin-left:.1rem}.es-pts--btn{border:1px solid transparent;cursor:pointer;transition:border-color .12s ease,background .12s ease}.es-pts--btn:hover{border-color:color-mix(in oklab,var(--primary, #6366f1) 45%,var(--border));background:color-mix(in oklab,var(--primary, #6366f1) 6%,var(--muted))}.es-pts--input{width:3.2rem;padding:.15rem .4rem;font:inherit;font-weight:600;text-align:center;border-radius:.3rem;border:1px solid color-mix(in oklab,var(--primary, #6366f1) 45%,var(--border));background:var(--background);outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--primary, #6366f1) 10%,transparent)}.es-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.35rem;background:transparent;border:1px solid transparent;color:var(--muted-foreground);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.es-icon-btn:hover{background:color-mix(in oklab,var(--accent) 60%,transparent);color:var(--foreground)}.es-icon-btn--sm{width:1.5rem;height:1.5rem}.es__ai-wrap{padding:.5rem .9rem 0;display:flex;flex-direction:column}.es-ai-stack--compact{display:flex;flex-direction:column;gap:.4rem;padding:0;background:transparent;border:none}.es-ai-stack--compact:before,.es-ai-stack--compact:after{content:none}.es-ai-suggestions{display:flex;gap:.3rem;flex-wrap:wrap;overflow-x:auto;scrollbar-width:none}.es-ai-suggestions::-webkit-scrollbar{display:none}.es-ai-suggestion{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:9999px;font-size:.68rem;font-weight:500;border:1px solid var(--border);background:transparent;color:var(--muted-foreground);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .12s ease,color .12s ease,border-color .12s ease}.es-ai-suggestion:hover:not(:disabled){background:color-mix(in oklab,var(--primary, #15665e) 8%,transparent);border-color:color-mix(in oklab,var(--primary, #15665e) 35%,var(--border));color:var(--foreground)}.es-ai-suggestion:active:not(:disabled){transform:scale(.97)}.es-ai-suggestion:disabled{opacity:.5;cursor:wait}.es-ai{display:flex;align-items:center;gap:.45rem;padding:.35rem .4rem .35rem .7rem;border-radius:.55rem;background:var(--card);border:1px solid color-mix(in oklab,var(--primary, #15665e) 16%,var(--border));transition:border-color .15s ease,box-shadow .15s ease}.es-ai:focus-within{border-color:var(--primary, #15665e);box-shadow:0 0 0 3px color-mix(in oklab,var(--primary, #15665e) 14%,transparent)}.es-ai--busy{opacity:.7}.es-ai__icon{color:var(--primary, #15665e);flex-shrink:0}.es-ai__input{flex:1;border:none;background:transparent;outline:none;font:inherit;font-size:.82rem;color:var(--foreground);min-width:0;padding:.1rem 0}.es-ai__input::placeholder{color:var(--muted-foreground)}.es-ai__send{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;height:1.7rem;padding:0 .4rem;border-radius:.4rem;border:none;background:var(--primary, #15665e);color:#fff;cursor:pointer;transition:background .12s ease,opacity .12s ease,transform .12s ease;flex-shrink:0}.es-ai__send:hover:not(:disabled){background:color-mix(in oklab,var(--primary, #15665e) 85%,#000)}.es-ai__send:active:not(:disabled){transform:scale(.96)}.es-ai__send:disabled{background:color-mix(in oklab,var(--muted) 70%,var(--border));color:var(--muted-foreground);cursor:default}.es__advanced{background:none;border:none;padding:.15rem .4rem;display:inline-flex;align-items:center;gap:.2rem;font-size:.65rem;color:var(--muted-foreground);cursor:pointer;border-radius:.3rem;flex-shrink:0;white-space:nowrap;align-self:flex-end}.es__advanced:hover{background:var(--card);color:var(--foreground)}@media (max-width: 520px){.es__advanced{display:none}}.es-q-ai{grid-column:2 / span 2;display:flex;align-items:center;gap:.4rem;padding:.15rem .3rem .15rem .55rem;border-radius:.4rem;background:var(--background);border:1px solid color-mix(in oklab,var(--primary, #6366f1) 40%,var(--border));box-shadow:0 0 0 3px color-mix(in oklab,var(--primary, #6366f1) 10%,transparent);min-width:0}.es-q-ai__icon{color:var(--primary, #6366f1);flex-shrink:0}.es-q-ai__label{font-size:.65rem;font-weight:600;color:color-mix(in oklab,var(--primary, #6366f1) 80%,var(--foreground));white-space:nowrap;flex-shrink:0}@media (max-width: 539px){.es-q-ai__label{display:none}}.es-q-ai__input{flex:1;border:none;background:transparent;outline:none;font:inherit;font-size:.8rem;color:var(--foreground);min-width:0;padding:.25rem 0}.es-q-ai__send{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:.35rem;border:none;background:var(--primary, #6366f1);color:#fff;font-size:.7rem;font-weight:600;cursor:pointer;transition:background .12s ease,opacity .12s ease;flex-shrink:0}.es-q-ai__send:hover:not(:disabled){background:color-mix(in oklab,var(--primary, #6366f1) 85%,#000)}.es-q-ai__send:disabled{background:color-mix(in oklab,var(--muted) 70%,var(--border));color:var(--muted-foreground);cursor:default}.es-q-ai__close{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;background:transparent;color:var(--muted-foreground);border-radius:.3rem;cursor:pointer;flex-shrink:0}.es-q-ai__close:hover{background:var(--accent);color:var(--foreground)}.es-history-item{border:1px solid var(--border);border-radius:.5rem;padding:.6rem .7rem;background:var(--card)}.es-history-item--current{border-color:color-mix(in oklab,var(--primary, #6366f1) 50%,var(--border));background:color-mix(in oklab,var(--primary, #6366f1) 4%,var(--card))}.es-history-item__head{display:flex;align-items:center;gap:.45rem}.es-history-item__label{font-size:.75rem;font-weight:600;flex:1}.es-history-item__time{font-size:.7rem;color:var(--muted-foreground);flex:1}.es-history-item__note{font-size:.72rem;color:var(--muted-foreground);margin:.35rem 0 0;line-height:1.4}.es--empty{padding:1.5rem 1rem;text-align:center}.es__empty-text{font-size:.78rem;color:var(--muted-foreground);font-style:italic;margin:0}.es__skeleton{padding:.9rem;display:flex;flex-direction:column;gap:.5rem}.es__skeleton-line{height:.7rem;background:linear-gradient(90deg,var(--muted) 0%,var(--accent) 50%,var(--muted) 100%);background-size:200% 100%;animation:es-skeleton 1.4s linear infinite;border-radius:.25rem;width:100%}.es__skeleton-line--lg{width:70%}.es__skeleton-line--sm{width:40%}@keyframes es-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 520px){.es__sheet{padding:.45rem;border-radius:.6rem}.es-section+.es-section{margin-top:.55rem}.es-section__head{gap:.5rem;padding:.55rem .65rem}.es-section__title{font-size:.92rem}.es-section__marker{min-width:1.75rem;height:1.55rem;font-size:.72rem}.es-section__pts{font-size:.68rem;padding:.1rem .45rem}.es-q-list{padding:.3rem .5rem .4rem}.es-q{grid-template-columns:1.7rem 1fr auto;gap:.4rem;padding:.55rem .2rem}.es-q--collapsed{min-height:2.75rem}.es-q__num{min-width:1.5rem;height:1.3rem;font-size:.7rem}.es-q__preview-text{font-size:.85rem;line-height:1.35}.es-q__ai-btn,.es-icon-btn{width:1.9rem;height:1.9rem}.es-section__add-row{padding:.2rem .5rem .5rem}.es__ai-wrap{padding:.45rem .7rem .6rem}}@media (prefers-color-scheme: dark){.es__sheet{background:color-mix(in oklab,var(--color-foreground) 7%,transparent);border-color:color-mix(in oklab,var(--color-foreground) 8%,transparent)}.es-section{border-color:color-mix(in oklab,var(--color-foreground) 8%,var(--color-border))}.es-section__head{background:color-mix(in oklab,var(--color-primary) 12%,transparent);border-bottom-color:color-mix(in oklab,var(--color-primary) 24%,var(--color-border))}.es-q--expanded{background:color-mix(in oklab,var(--color-primary) 9%,transparent)}.es-q--ai{background:color-mix(in oklab,var(--color-primary) 13%,transparent)}.es-q-wrap+.es-q-wrap{border-top-color:color-mix(in oklab,var(--color-foreground) 7%,transparent)}}.ed-content{--padding-top: 0;--padding-start: 0;--padding-end: 0;--padding-bottom: 100px}.ed-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-4xl);min-height:200px}.ed-hero{background:var(--gradient-primary);padding:var(--space-md) var(--space-lg);padding-top:max(var(--space-md),env(safe-area-inset-top));position:relative;overflow:hidden}.ed-hero:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);pointer-events:none}.ed-hero__nav{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;gap:var(--space-sm)}.ed-hero__nav buttons{margin:0;flex-shrink:0}.ed-hero__center{flex:1;text-align:center;min-width:0}.ed-hero__title{font-size:var(--font-size-lg);font-weight:700;color:#fff;margin:0;letter-spacing:-.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-hero__subtitle{font-size:var(--font-size-xs);color:#ffffffbf;margin:2px 0 0;font-weight:500}.ed-hero__actions{display:flex;gap:var(--space-xs);flex-shrink:0}.ed-hero__action-btn{--color: rgba(255, 255, 255, .9);--padding-start: 8px;--padding-end: 8px}.ed-hero__action-btn svg{font-size:20px}.ed-hero__action-btn--danger{--color: rgba(255, 100, 100, .9)}.ed-info-card{background:var(--color-surface);margin:var(--space-lg);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.ed-info-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.ed-info-row:last-child{border-bottom:none;padding-bottom:0}.ed-info-row:first-child{padding-top:0}.ed-info-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.ed-info-value{font-size:var(--font-size-sm);color:var(--color-foreground);font-weight:600;text-transform:capitalize}.ed-info-status{font-size:var(--font-size-xs);font-weight:600;padding:4px 12px;border-radius:var(--radius-full)}.ed-info-deadline{display:flex;align-items:center;gap:var(--space-sm)}.ed-deadline-badge{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--radius-sm)}.ed-deadline-badge svg{font-size:12px}.ed-info-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.ed-type-chip,.ed-personalized-chip{height:26px;font-size:var(--font-size-xs);margin:0}.ed-type-chip svg,.ed-personalized-chip svg{font-size:14px;margin-right:4px}.ed-ribbon{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);margin:var(--space-md) var(--space-lg) 0;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);flex-wrap:wrap}.ed-ribbon__item{display:flex;flex-direction:column;align-items:center;gap:1px}.ed-ribbon__value{font-size:var(--font-size-sm);font-weight:700;color:var(--color-foreground);text-transform:capitalize}.ed-ribbon__label{font-size:9px;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.3px}.ed-ribbon__status{font-size:var(--font-size-xs);font-weight:600;padding:2px 10px;border-radius:var(--radius-full)}.ed-ribbon__deadline{display:flex;align-items:center;gap:2px;font-size:9px;font-weight:600}.ed-ribbon__deadline svg{font-size:10px}.ed-ribbon__divider{width:1px;height:24px;background:var(--color-border);flex-shrink:0}.ed-class-tabs{display:flex;gap:4px;margin:var(--space-md) 0 var(--space-sm);padding:4px;background:var(--color-bg-subtle, #F1F3F7);border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}.ed-class-tabs::-webkit-scrollbar{display:none}.ed-class-tab{flex:1 1 0;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 14px;min-width:88px;background:transparent;border:none;border-radius:9px;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease;color:var(--color-muted-foreground, #6B7280);font-family:inherit;text-align:center}.ed-class-tab:hover:not(.ed-class-tab--active){color:var(--color-foreground, #1F2937)}.ed-class-tab--active{background:var(--color-surface, #FFFFFF);color:var(--color-foreground, #1F2937);box-shadow:0 1px 2px #0f172a14,0 0 0 .5px #0f172a0a}.ed-class-tab__name{font-size:14px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.ed-class-tab__meta{font-size:11px;font-weight:500;color:var(--color-muted-foreground, #94A3B8);white-space:nowrap;display:flex;align-items:center;gap:4px}.ed-class-tab--active .ed-class-tab__meta{color:var(--color-primary, #2563EB)}.ed-class-tab__meta strong{font-weight:700}.ed-corrections-toolbar{display:flex;flex-wrap:wrap;gap:12px;padding:10px var(--space-md);align-items:center;justify-content:space-between}.ed-corrections-toolbar__group{display:flex;flex-wrap:wrap;gap:4px;background:var(--color-bg-subtle, #F1F3F7);border-radius:999px;padding:3px}.ed-chip{padding:6px 12px;border:none;background:transparent;border-radius:999px;font-size:12px;font-weight:500;color:var(--color-muted-foreground, #6B7280);font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.ed-chip:hover:not(.ed-chip--active){color:var(--color-foreground, #1F2937)}.ed-chip--active{background:var(--color-surface, #FFFFFF);color:var(--color-foreground, #1F2937);box-shadow:0 1px 2px #0f172a14}.ed-corrections-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px var(--space-md);text-align:center}.ed-corrections-empty__text{font-size:13px;color:var(--color-muted-foreground, #6B7280);margin:0}.ed-correction-row--highlight{animation:ed-correction-highlight 4s ease-out}@keyframes ed-correction-highlight{0%,30%{background:#2563eb1f;border-radius:12px}to{background:transparent}}.ed-pipeline{display:flex;align-items:flex-start;justify-content:center;margin:var(--space-md) var(--space-lg);padding:var(--space-md) var(--space-sm);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);overflow-x:auto;gap:0}.ed-pipeline__step-wrapper{display:flex;align-items:center;flex:1;min-width:0}.ed-pipeline__step{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0;padding:2px 0;opacity:.45;transition:opacity .2s}.ed-pipeline__step--active{opacity:.75}.ed-pipeline__step--done{opacity:1}.ed-pipeline__count{font-size:var(--font-size-sm);font-weight:800;color:var(--color-foreground);line-height:1.1;letter-spacing:-.02em}.ed-pipeline__step--done .ed-pipeline__count{color:#059669}.ed-pipeline__step--active .ed-pipeline__count{color:var(--color-primary)}.ed-pipeline__label{font-size:8px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.3px;margin-top:2px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ed-pipeline__connector{width:12px;height:1px;background:var(--color-border);flex-shrink:0;margin:0 1px 10px;align-self:center}.ed-performance{margin:var(--space-md) var(--space-lg);padding:var(--space-lg);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.ed-performance__charts{display:flex;align-items:flex-start;justify-content:center;gap:var(--space-xl);flex-wrap:wrap}.ed-performance__weak-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-md);justify-content:center}.ed-weak-tag{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);font-weight:500;padding:2px var(--space-sm);border-radius:var(--radius-full);background:#d977061a;color:#bf6905}.ed-weak-count{font-size:10px;font-weight:700;background:#d9770626;border-radius:var(--radius-full);padding:0 5px}.ed-correction-bar{max-width:160px;margin-top:4px}.ed-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin:var(--space-md) var(--space-lg) 0}.ed-stat-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-xs);border:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-md)}.ed-stat-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:#64748b1a;color:var(--color-text-secondary);font-size:20px;flex-shrink:0}.ed-stat-icon--success{background:#0596691a;color:#059669}.ed-stat-icon--primary{background:#15665e1a;color:var(--color-primary)}.ed-stat-icon--warning{background:#d977061a;color:#d97706}.ed-stat-content{display:flex;flex-direction:column}.ed-stat-value{font-size:var(--font-size-xl);font-weight:800;color:var(--color-foreground);line-height:1;letter-spacing:-.02em}.ed-stat-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:500;margin-top:4px}.ed-progress-section{margin:0 var(--space-lg) var(--space-lg);background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--color-border)}.ed-progress-header{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.ed-progress-section div{height:6px;border-radius:var(--radius-sm);--background: var(--color-border)}.ed-actions{padding:0 var(--space-lg);margin-bottom:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm)}.ed-action-btn{--border-radius: var(--radius-md);font-weight:600}.ed-actions-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.ed-actions-row button{--border-radius: var(--radius-md);font-size:var(--font-size-sm)}.ed-downloads-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.ed-section-label{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm);display:block}.ed-doc-list{display:flex;flex-direction:column;gap:0;background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.ed-doc-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.ed-doc-item:last-child{border-bottom:none}.ed-doc-info{display:flex;align-items:center;gap:var(--space-sm);min-width:0;flex:1}.ed-doc-icon{font-size:18px;color:var(--color-primary);flex-shrink:0}.ed-doc-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-doc-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0;margin-left:var(--space-sm)}.ed-doc-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-foreground);cursor:pointer;transition:background .15s,color .15s;padding:0;-webkit-tap-highlight-color:transparent}.ed-doc-btn:active{background:#15665e1f;color:var(--color-primary)}.ed-doc-btn:disabled{opacity:.4;cursor:default}.ed-doc-btn svg{font-size:18px}.ed-downloads-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:var(--space-sm) 0 0;text-align:center;font-style:italic}.ed-corrections-section{padding:0 var(--space-lg) var(--space-lg)}.ed-corrections-section--inline{padding:0 0 var(--space-lg)}.ed-corrections-section--inline .ed-corrections-header{padding:0 var(--space-md)}.ed-corrections-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.ed-corrections-header .ed-section-title{margin:0}.ed-edit-corrections-btn{--padding-start: var(--space-sm);--padding-end: var(--space-sm);font-size:var(--font-size-xs);height:28px}.ed-corrections-section .correction-review-list{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-sm)}.pdf-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#1a1a1e;display:flex;flex-direction:column}.pdf-preview-overlay__image{display:flex;flex-direction:column;height:100%}.ed-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#1a1a1e;display:flex;flex-direction:column}.ed-preview-viewer{flex:1;min-height:0;display:flex;flex-direction:column}.ed-preview-drawer{background:#1e1e22eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1);padding:6px 14px calc(12px + env(safe-area-inset-bottom,0px));max-height:calc(64px + env(safe-area-inset-bottom,0px));overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1)}.ed-preview-drawer--expanded{max-height:calc(120px + env(safe-area-inset-bottom,0px))}.ed-preview-drawer__handle{width:28px;height:3px;border-radius:2px;background:#fff3;margin:0 auto 8px}.ed-preview-drawer__content{display:flex;align-items:flex-end;gap:8px}.ed-preview-drawer__input{flex:1;font-size:13px!important;min-height:unset!important;resize:none!important;padding:8px 12px!important;background:#ffffff14!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:12px!important;color:#fff!important;transition:border-color .2s ease,background .2s ease}.ed-preview-drawer__input::placeholder{color:#ffffff59}.ed-preview-drawer__input:focus{border-color:var(--color-primary)!important;background:#ffffff1a!important;outline:none}.ed-preview-drawer__btn{flex-shrink:0;font-size:12px!important;height:36px!important;border-radius:10px!important;background:var(--color-primary)!important;color:#fff!important;border:none!important;padding:0 14px!important;opacity:0;transform:translate(8px);animation:ed-drawer-btn-in .25s cubic-bezier(.4,0,.2,1) forwards;animation-delay:.05s}.ed-preview-drawer__btn:active{transform:scale(.96)}@keyframes ed-drawer-btn-in{to{opacity:1;transform:translate(0)}}.ed-section-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--space-md)}.ed-section{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);padding:var(--space-lg);position:relative}.ed-section__header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.ed-section__number{width:24px;height:24px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.ed-section__title{font-size:var(--font-size-base);font-weight:700;color:var(--color-foreground);margin:0}.ed-section--locked{max-height:120px;overflow:hidden;pointer-events:none}.ed-section--pending{opacity:.45;pointer-events:none}.ed-processing-banner{display:flex;align-items:flex-start;gap:var(--space-md);margin-top:var(--space-md);padding:var(--space-md);background:rgba(var(--color-primary-rgb, 21, 102, 94),.06);border:1px solid rgba(var(--color-primary-rgb, 21, 102, 94),.15);border-radius:var(--radius-md);animation:ed-banner-pulse 2s ease-in-out infinite}.ed-processing-banner__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);margin:0}.ed-processing-banner__desc{font-size:var(--font-size-xs);color:var(--color-muted-foreground);margin:2px 0 0;line-height:1.4}@keyframes ed-banner-pulse{0%,to{opacity:1}50%{opacity:.7}}.ed-section__lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);background:linear-gradient(to bottom,#ffffffb3,#fffffff2);border-radius:var(--radius-lg);font-size:var(--font-size-sm);font-weight:600;color:#8b5cf6;pointer-events:none}.ed-schedule-fields{margin-top:var(--space-sm)}.ed-schedule-row{display:flex;gap:var(--space-md)}.ed-schedule-field{flex:1}.ed-schedule-input{width:100%;padding:8px 10px;font-size:var(--font-size-sm, 13px);font-family:inherit;border:1.5px solid var(--color-border-strong, rgba(15, 23, 42, .12));border-radius:var(--radius-md);background:var(--color-surface, #fff);color:var(--color-foreground);transition:border-color .15s ease}.ed-schedule-input:focus{outline:none;border-color:var(--color-primary)}@media (prefers-color-scheme: dark){.ed-schedule-input{background:#ffffff0d;border-color:#ffffff1f;color:#fff}}@media (prefers-color-scheme: dark){.ed-hero{background:linear-gradient(135deg,#0d4a44,#1e8a7f)}.ed-hero:before{background:radial-gradient(circle,rgba(255,255,255,.04) 0%,transparent 70%)}.ed-ribbon{background:var(--color-surface);border-color:#ffffff14}.ed-ribbon__divider{background:#ffffff14}.ed-pipeline{background:var(--color-surface);border-color:#ffffff14}.ed-pipeline__connector{background:#ffffff14}.ed-performance,.ed-stat-card,.ed-progress-section,.ed-section{background:var(--color-surface);border-color:#ffffff14}.ed-section__lock-overlay{background:linear-gradient(to bottom,#16161ab3,#16161af2)}.ed-corrections-section .correction-review-list{background:var(--color-surface);border-color:#ffffff0f}.ed-doc-list{background:var(--color-surface);border-color:#ffffff14}.ed-doc-item{border-color:#ffffff0f}.ed-doc-btn{border-color:#ffffff1a}}@media (max-width: 380px){.ed-hero__title{font-size:var(--font-size-base)}.ed-ribbon{gap:var(--space-xs);padding:var(--space-sm) var(--space-md)}.ed-pipeline{margin:var(--space-md) var(--space-md);padding:var(--space-sm) var(--space-xs)}.ed-pipeline__label{font-size:7px}.ed-pipeline__count{font-size:var(--font-size-xs)}.ed-pipeline__connector{width:8px}.ed-stats{gap:var(--space-sm);margin:var(--space-md) var(--space-md) 0}.ed-stat-card{padding:var(--space-sm)}.ed-stat-icon{width:32px;height:32px;font-size:16px}.ed-stat-value{font-size:var(--font-size-lg)}.ed-performance{margin:var(--space-md) var(--space-md);padding:var(--space-md)}.ed-actions-row{grid-template-columns:1fr}}@media (max-width: 340px){.ed-pipeline{padding:var(--space-sm) 2px}.ed-pipeline__label{font-size:6.5px;letter-spacing:0}.ed-pipeline__connector{width:6px;margin:0}.ed-stats{grid-template-columns:1fr}}@media (min-width: 992px){.ed-ribbon{max-width:960px;margin-left:auto;margin-right:auto}.ed-section,.ed-section--pending{max-width:960px;margin-left:auto!important;margin-right:auto!important}}.ed-validate{margin-top:.75rem}.ed-validate__hint{display:flex;align-items:center;gap:6px;margin:0 0 .5rem;padding:.5rem .75rem;font-size:12px;color:var(--color-status-pending, #B45309);background:var(--color-status-pending-bg, rgba(217, 119, 6, .1));border-radius:.5rem;line-height:1.4}.ed-validate__primary[disabled]{opacity:.55;cursor:not-allowed}.ed-validate__bar{display:flex;align-items:stretch;gap:1px;border-radius:.6rem;overflow:hidden;box-shadow:0 1px 2px #05966926}.ed-validate__primary{flex:1;background:#059669!important;color:#fff!important;border:none!important;border-radius:0!important;height:auto;min-height:2.5rem;font-weight:600}.ed-validate__primary:hover{background:#047857!important}.ed-validate__options{display:inline-flex;align-items:center;gap:.35rem;padding:0 .75rem;background:#047857;color:#ffffffe6;border:none;cursor:pointer;font-size:.7rem;font-weight:500;font-variant-numeric:tabular-nums;transition:background .12s ease}.ed-validate__options:hover{background:#065f46;color:#fff}.ed-validate__options-label{white-space:nowrap}.ed-validate__caption{margin:.5rem 0 0;font-size:.68rem;text-align:center;color:var(--muted-foreground)}.correction-content{--padding-top: 0;--padding-bottom: var(--space-2xl)}.progress-badge{margin-right:var(--space-sm);padding:3px 10px;font-size:var(--font-size-xs);border-radius:var(--radius-full)}.correction-toolbar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#0f172a05;border-bottom:1px solid rgba(15,23,42,.04);flex-wrap:wrap}.correction-toolbar ion-button{--border-radius: var(--radius-sm);font-size:var(--font-size-sm)}.missing-badge{margin-left:auto;font-size:var(--font-size-xs);padding:3px 8px;border-radius:var(--radius-full)}.correction-scans{padding:var(--space-sm)}.correction-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-4xl)}.correction-finish{padding:var(--space-md) var(--space-lg)}.correction-finish ion-button{--border-radius: var(--radius-md);--padding-top: 12px;--padding-bottom: 12px;font-weight:600}.correction-dashboard{padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);background:linear-gradient(180deg,rgba(108,58,237,.03) 0%,transparent 100%);border-bottom:1px solid rgba(15,23,42,.06)}.dashboard-row{display:flex;gap:var(--space-sm);align-items:stretch}.dashboard-stat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);border:1px solid rgba(15,23,42,.06)}.dashboard-stat .dashboard-stat-value{font-size:var(--font-size-xl);font-weight:700;color:var(--ion-text-color);line-height:1.2}.dashboard-stat .dashboard-stat-label{font-size:var(--font-size-xs);color:#94a3b8;font-weight:500}.dashboard-stat-primary{background:linear-gradient(135deg,var(--ion-color-primary) 0%,#8B5CF6 100%);border:none;color:#fff;box-shadow:var(--shadow-primary)}.dashboard-stat-primary .dashboard-stat-value{font-size:var(--font-size-2xl);font-weight:800;color:#fff}.dashboard-stat-primary .dashboard-stat-label{color:#ffffffd9}.dashboard-stat-success .dashboard-stat-value{color:var(--ion-color-success)}.dashboard-stat-danger .dashboard-stat-value{color:var(--ion-color-danger)}.grade-distribution{display:flex;flex-direction:column;gap:var(--space-xs)}.grade-distribution-bar{display:flex;height:8px;border-radius:var(--radius-full);overflow:hidden;background:#0f172a0f}.grade-bar-segment{transition:flex .3s ease}.grade-bar-excellent{background:#10b981}.grade-bar-good{background:#3b82f6}.grade-bar-borderline{background:#f59e0b}.grade-bar-fail{background:#ef4444}.dashboard-charts{display:flex;align-items:flex-start;justify-content:center;gap:var(--space-lg);flex-wrap:wrap}.class-weak-areas{display:flex;flex-direction:column;gap:var(--space-xs)}.class-weak-areas-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.class-weak-tag{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);font-weight:500;padding:2px var(--space-sm);border-radius:var(--radius-full);background:rgba(var(--ion-color-warning-rgb),.1);color:var(--ion-color-warning-shade)}.class-weak-tag .weak-count{font-size:10px;font-weight:700;background:var(--ion-color-warning);color:#fff;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.correction-controls{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md)}.correction-filter-row,.correction-sort-row{display:flex;align-items:center;gap:var(--space-sm)}.correction-controls__icon{font-size:16px;color:var(--ion-color-medium);flex-shrink:0}.correction-chips{display:flex;gap:var(--space-xs);flex-wrap:wrap}.correction-chip{background:var(--color-surface-subtle);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);padding:4px 12px;font-family:inherit;font-size:var(--font-size-xs);color:var(--ion-text-color);cursor:pointer;transition:all .15s ease;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.correction-chip:active{opacity:.8}.correction-chip--active{background:var(--ion-color-primary);border-color:var(--ion-color-primary);color:#fff}.correction-chip--success.correction-chip--active{background:var(--ion-color-success);border-color:var(--ion-color-success)}.correction-chip--danger.correction-chip--active{background:var(--ion-color-danger);border-color:var(--ion-color-danger)}.correction-chip__count{font-size:10px;font-weight:600;background:#0000001f;border-radius:var(--radius-full);padding:0 5px;min-width:18px;text-align:center;line-height:16px}.correction-chip--active .correction-chip__count{background:#ffffff40}.correction-review-list{margin:var(--space-md);background:var(--ion-card-background, #ffffff);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-sm)}.bulk-review-section{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.bulk-review-stats{display:flex;gap:var(--space-sm);flex-wrap:wrap}.bulk-review-label{font-size:var(--font-size-sm);font-weight:600;color:var(--ion-text-color);margin:0 0 var(--space-xs)}.bulk-review-cards{display:flex;flex-direction:column;gap:var(--space-sm)}.bulk-review-card{margin:0;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important;border:1px solid rgba(15,23,42,.04)!important}.bulk-review-card-content{padding:var(--space-md)!important}.bulk-review-card-top{display:flex;gap:var(--space-md);align-items:flex-start}.bulk-review-thumb{width:64px;height:80px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;position:relative;cursor:pointer;border:1px solid rgba(15,23,42,.08)}.bulk-review-thumb img{width:100%;height:100%;object-fit:cover}.bulk-review-thumb-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.bulk-review-thumb:hover .bulk-review-thumb-overlay,.bulk-review-thumb:active .bulk-review-thumb-overlay{opacity:1}.bulk-review-thumb-overlay ion-icon{color:#fff;font-size:20px}.bulk-review-card-info{flex:1;display:flex;flex-direction:column;gap:var(--space-xs)}.bulk-review-card-index{font-weight:700;font-size:var(--font-size-sm);color:var(--ion-text-color)}.bulk-review-card-meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.bulk-review-select{--padding-start: var(--space-sm);--padding-end: var(--space-sm);font-size:var(--font-size-sm);min-height:36px;margin-top:var(--space-xs);background:#0f172a08;border-radius:var(--radius-sm)}.bulk-review-actions{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-sm)}.bulk-review-pending-hint{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--ion-color-warning-shade);margin:0;padding:var(--space-sm) var(--space-md);background:rgba(var(--ion-color-warning-rgb),.08);border-radius:var(--radius-sm)}.bulk-review-pending-hint ion-icon{font-size:16px;flex-shrink:0}.bulk-review-confirm-btn{--border-radius: var(--radius-md);--padding-top: 14px;--padding-bottom: 14px;font-weight:600}.detected-code{display:inline-block;background:rgba(var(--ion-color-primary-rgb),.1);color:var(--ion-color-primary);padding:2px 8px;border-radius:var(--radius-sm);font-family:monospace;font-weight:600;font-size:var(--font-size-sm)}.reason-text{font-size:var(--font-size-xs);color:#94a3b8}.paper-preview-content{--background: #000}.paper-preview-container{width:100%;height:100%}.paper-preview-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-sm)}.paper-preview-pdf{width:100%;height:100%;border:none;background:#fff}.batch-ai-btn{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%;white-space:normal;line-height:1.2;padding-top:6px;padding-bottom:6px}.batch-ai-btn .batch-ai-btn__label{white-space:nowrap}.batch-ai-btn .time-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;background:#ffffff2e;font-size:11px;white-space:nowrap;flex-shrink:0}.batch-ai-btn .time-badge svg{width:12px;height:12px}.student-list-section{padding:var(--space-md)}.student-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-sm);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);background:#0f172a05;border:1px solid rgba(15,23,42,.04)}.student-list-header:hover{background:#0f172a0a}.student-list-header-left{display:flex;align-items:center;gap:var(--space-sm)}.student-list-header-left ion-icon{font-size:1.1rem;color:var(--ion-color-primary)}.student-list-header-left span{font-size:var(--font-size-sm);font-weight:600;color:var(--ion-text-color)}.student-list-header ion-badge{font-size:10px}.student-list-items{display:flex;flex-direction:column;gap:2px}.student-list-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:#0f172a03;border:1px solid rgba(15,23,42,.03)}.student-list-item:hover{background:#0f172a08}.student-list-item-info{flex:1;min-width:0}.student-list-item-name{font-size:var(--font-size-sm);font-weight:500;color:var(--ion-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-list-item-status{font-size:var(--font-size-xs);color:#94a3b8;display:flex;align-items:center;gap:4px}.student-list-item-status ion-icon{font-size:12px}.student-list-item-actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}.student-list-item-actions ion-button{--border-radius: var(--radius-sm);font-size:var(--font-size-xs)}.student-list-item--corrected .student-list-item-status{color:var(--ion-color-success)}.student-list-item--processing .student-list-item-status{color:var(--ion-color-warning)}.assignment-status-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);margin:var(--space-sm) var(--space-md) 0;border-radius:var(--radius-md);background:rgba(var(--ion-color-warning-rgb),.06);border:1px solid rgba(var(--ion-color-warning-rgb),.2)}.assignment-status-summary{flex:1;display:flex;flex-direction:column;gap:6px}.assignment-status-counts{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-size-sm);font-weight:500}.assignment-count{display:inline-flex;align-items:center;gap:4px}.assignment-count--assigned{color:var(--ion-color-success)}.assignment-count--unassigned{color:var(--ion-color-warning-shade)}.assignment-count ion-icon{font-size:14px}.assignment-progress{height:4px;border-radius:var(--radius-full)}.assignment-status-banner ion-button{--border-radius: var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap;flex-shrink:0}.assignment-section-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-top:var(--space-sm);font-size:var(--font-size-sm);font-weight:600;color:var(--ion-color-success)}.assignment-section-header ion-icon{font-size:16px}.assignment-section-header--unassigned{color:var(--ion-color-warning-shade);margin-top:var(--space-md);padding-top:var(--space-md);border-top:2px dashed rgba(var(--ion-color-warning-rgb),.3)}.correction-scans--unassigned .scan-card{border-left:3px solid var(--ion-color-warning)!important;background:rgba(var(--ion-color-warning-rgb),.03)}@media (prefers-color-scheme: dark){.correction-toolbar{background:#ffffff05;border-color:#ffffff0f}.correction-dashboard{background:linear-gradient(180deg,rgba(139,92,246,.08) 0%,transparent 100%);border-color:#ffffff0f}.dashboard-stat{background:#16161a;border-color:#ffffff14}.dashboard-stat-primary{background:linear-gradient(135deg,var(--ion-color-primary) 0%,#8B5CF6 100%);border:none}.grade-distribution-bar{background:#ffffff14}.class-weak-tag{background:rgba(var(--ion-color-warning-rgb),.15)}.correction-chip{background:#ffffff0a;border-color:#ffffff14}.correction-review-list{background:#16161a;border-color:#ffffff0f}.bulk-review-card{background:#16161a!important;border:1px solid rgba(255,255,255,.06)!important}.bulk-review-select{background:#ffffff0a}.bulk-review-thumb{border-color:#ffffff1a}.student-list-header{background:#ffffff05;border-color:#ffffff0f}.student-list-item{background:#ffffff03;border-color:#ffffff0a}.student-list-item:hover{background:#ffffff0a}.assignment-status-banner{background:rgba(var(--ion-color-warning-rgb),.1);border-color:rgba(var(--ion-color-warning-rgb),.25)}.correction-scans--unassigned .scan-card{background:rgba(var(--ion-color-warning-rgb),.06)}}@media (min-width: 992px){.correction-content{max-width:960px;margin-left:auto;margin-right:auto}}.correction-toolbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--color-card, #fff);border-bottom:1px solid rgba(15,23,42,.06);flex-wrap:wrap}.correction-toolbar__summary{display:inline-flex;align-items:baseline;gap:4px;font-size:12px;color:#64748b}.correction-toolbar__count{font-size:14px;color:var(--color-foreground, #0F172A)}.correction-toolbar__count strong{color:var(--color-success, #059669);font-size:16px;font-weight:700}.correction-toolbar__actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.correction-toolbar__hint{flex-basis:100%;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:6px;background:#f5f3ff;border:1px solid #E9D5FF;color:#6d28d9;font-size:12px;font-weight:500}.batch-ai-btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;height:32px}.batch-ai-btn .time-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:999px;background:#ffffff2e;font-size:10px;font-weight:500}.correction-assign-hint{display:flex;align-items:center;gap:8px;margin:8px 12px;padding:8px 12px;border-radius:8px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);color:#92400e;font-size:13px}.correction-assign-hint__action{margin-left:auto;background:transparent;border:0;padding:0;color:#92400e;font-weight:600;font-size:13px;cursor:pointer}.correction-assign-hint__action:hover{text-decoration:underline}.correction-section-divider{display:flex;align-items:center;gap:6px;margin:16px 14px 8px;padding-bottom:4px;border-bottom:1px solid rgba(245,158,11,.2);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#92400e}.correction-section-divider__count{margin-left:auto;background:#fef3c7;color:#92400e;padding:1px 8px;border-radius:999px;text-transform:none;letter-spacing:0;font-weight:700}.bulk-review-section{margin:8px 12px;padding:12px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:10px;display:flex;flex-direction:column;gap:10px}.bulk-review-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.bulk-review-title{margin:0;font-size:13px;font-weight:600;color:#0f172a}.bulk-review-stats{display:flex;flex-wrap:wrap;gap:4px}.bulk-stat{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;border:1px solid transparent}.bulk-stat--ok{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.bulk-stat--info{background:#eff6ff;color:#1e40af;border-color:#bfdbfe}.bulk-stat--warn{background:#fffbeb;color:#92400e;border-color:#fde68a}.bulk-stat--review{background:#f8fafc;color:#475569;border-color:#e2e8f0}.bulk-review-skipped{padding:8px 10px;background:#fffbeb;border:1px solid #FDE68A;border-radius:6px}.bulk-review-skipped__title{display:flex;align-items:center;gap:4px;margin:0 0 4px;font-size:11px;font-weight:700;color:#92400e}.bulk-review-skipped__list{margin:0 0 4px;font-size:12px;color:#78350f;line-height:1.4}.bulk-review-skipped__hint{margin:0;font-size:11px;color:#b45309}.bulk-review-actions{display:flex;flex-direction:column;gap:6px}.bulk-review-pending-hint{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:11px;color:#92400e}.bulk-review-confirm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}@media (prefers-color-scheme: dark){.correction-toolbar{background:var(--color-surface);border-bottom-color:#ffffff0f}.correction-assign-hint{background:#f59e0b1a;border-color:#f59e0b4d;color:#fcd34d}.correction-assign-hint__action{color:#fcd34d}.correction-section-divider{color:#fcd34d;border-bottom-color:#f59e0b4d}.correction-section-divider__count{background:#f59e0b2e;color:#fcd34d}.bulk-review-section{background:var(--color-surface);border-color:#ffffff14}.bulk-review-title{color:#f1f5f9}.bulk-stat--ok{background:#10b9811f;color:#6ee7b7;border-color:#10b98140}.bulk-stat--info{background:#3b82f61f;color:#93c5fd;border-color:#3b82f640}.bulk-stat--warn{background:#f59e0b1f;color:#fcd34d;border-color:#f59e0b40}.bulk-stat--review{background:#ffffff0a;color:#94a3b8;border-color:#ffffff14}.bulk-review-skipped{background:#f59e0b14;border-color:#f59e0b33}.bulk-review-skipped__title{color:#fcd34d}.bulk-review-skipped__list{color:#fde68a}.bulk-review-skipped__hint{color:#fcd34d}}.ece-shell{height:100%;display:grid;grid-template-rows:auto auto 1fr auto;background:var(--background);--ece-accent-0: rgb(99, 102, 241);--ece-accent-1: rgb(20, 184, 166);--ece-accent-2: rgb(245, 158, 11);--ece-accent-3: rgb(168, 85, 247);--ece-accent-4: rgb(236, 72, 153)}.ece-header{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;padding-top:max(.5rem,env(safe-area-inset-top));height:56px;background:var(--card);border-bottom:1px solid var(--border);z-index:10}.ece-header__title{flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ece-header__status{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:9999px;font-size:.7rem;font-weight:600;background:#64748b1f;color:#475569;flex-shrink:0;white-space:nowrap}@media (max-width: 379px){.ece-header__status-label{display:none}.ece-header__status{padding:.2rem .4rem}}.ece-header__status--dirty{background:#f59e0b26;color:#b45309}.ece-header__status--saving{background:#3b82f626;color:#1d4ed8}.ece-header__ai-btn{display:inline-flex;align-items:center;gap:.3rem;height:32px;padding:0 .65rem;border-radius:.5rem;border:1px solid color-mix(in oklab,var(--primary, #6366f1) 35%,var(--border));background:color-mix(in oklab,var(--primary, #6366f1) 8%,var(--card));color:color-mix(in oklab,var(--primary, #6366f1) 90%,var(--foreground));font-size:.75rem;font-weight:600;flex-shrink:0;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.ece-header__ai-btn:hover{background:color-mix(in oklab,var(--primary, #6366f1) 14%,var(--card));border-color:color-mix(in oklab,var(--primary, #6366f1) 55%,var(--border))}.ece-header__ai-btn:active{transform:translateY(1px)}@media (max-width: 379px){.ece-header__ai-btn-label{display:none}.ece-header__ai-btn{padding:0;width:32px;justify-content:center}}.ece-header__preview-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:.5rem;border:1px solid var(--border);background:var(--card);color:var(--foreground);flex-shrink:0;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.ece-header__preview-btn:hover:not(:disabled){background:color-mix(in oklab,var(--primary, #6366f1) 8%,var(--card));border-color:color-mix(in oklab,var(--primary, #6366f1) 35%,var(--border));color:color-mix(in oklab,var(--primary, #6366f1) 85%,var(--foreground))}.ece-header__preview-btn:disabled{opacity:.5;cursor:wait}.ece-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;margin:.75rem 1rem 0;border-radius:.5rem;font-size:.8rem;line-height:1.4}.ece-banner--warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#92400e}.ece-banner--danger{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#991b1b}.ece-banner--info{background:#6366f114;border:1px solid rgba(99,102,241,.25);color:#4338ca}.ece-body{overflow-y:auto;overflow-x:hidden;min-height:0;position:relative;scroll-behavior:smooth}@media (min-width: 992px){.ece-body{display:grid;grid-template-columns:280px 1fr}}.ece-mobile-index{position:sticky;top:0;z-index:5;padding:.5rem 1rem;background:color-mix(in oklab,var(--background) 92%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--border);display:flex;gap:.5rem}@media (min-width: 992px){.ece-mobile-index{display:none}}.ece-outline{display:none}@media (min-width: 992px){.ece-outline{display:block;position:sticky;top:0;align-self:start;max-height:100vh;overflow-y:auto;padding:1rem .75rem;border-right:1px solid var(--border);background:var(--background)}}.ece-outline__summary{display:flex;align-items:center;gap:.35rem;padding:.25rem .55rem .75rem;font-size:.72rem;color:var(--muted-foreground);border-bottom:1px solid color-mix(in oklab,var(--border) 70%,transparent);margin-bottom:.4rem;flex-wrap:wrap;line-height:1.3}.ece-outline__summary-sep{color:color-mix(in oklab,var(--border) 80%,var(--muted-foreground));opacity:.7}.ece-outline__summary-dirty{color:#b45309;font-weight:600}.ece-outline__nav{display:flex;flex-direction:column;gap:.1rem}.ece-outline__section{padding-bottom:.25rem}.ece-outline__section-name{display:flex;align-items:center;gap:.45rem;width:100%;padding:.35rem .55rem;background:transparent;border:none;border-radius:.4rem;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease;color:var(--foreground)}.ece-outline__section-name:hover{background:color-mix(in oklab,var(--accent) 55%,transparent)}.ece-outline__section-name--active{background:color-mix(in oklab,var(--primary, #6366f1) 8%,transparent)}.ece-outline__section-marker{font-weight:700;font-size:.7rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:1.5rem}.ece-outline__section-name--active .ece-outline__section-marker{color:var(--primary, #6366f1)}.ece-outline__section-label{font-weight:600;font-size:.8rem;line-height:1.25;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ece-outline__section-dirty-dot{width:6px;height:6px;border-radius:50%;background:#f59e0b;flex-shrink:0}.ece-outline__q-list{list-style:none;padding:0;margin:.1rem 0 .1rem 2rem;border-left:1px solid color-mix(in oklab,var(--border) 70%,transparent);display:flex;flex-direction:column}.ece-outline__q{display:flex;align-items:center;gap:.55rem;padding:.3rem .5rem .3rem .7rem;font-size:.73rem;color:var(--muted-foreground);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;transition:color .12s ease,background .12s ease;line-height:1.3;border-radius:0 .3rem .3rem 0;margin-left:-1px}.ece-outline__q:hover{color:var(--foreground);background:color-mix(in oklab,var(--accent) 40%,transparent)}.ece-outline__q-num{font-variant-numeric:tabular-nums;font-weight:600;font-size:.68rem;color:inherit;flex-shrink:0;min-width:1.1rem}.ece-outline__q:hover .ece-outline__q-num{color:var(--foreground)}.ece-outline__q-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.ece-outline__q--dirty{color:#b45309;font-weight:500}.ece-outline__add{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .55rem;margin:.5rem .55rem 0;background:transparent;border:1px dashed color-mix(in oklab,var(--border) 85%,var(--muted-foreground));font-size:.72rem;font-weight:500;color:var(--muted-foreground);cursor:pointer;border-radius:.4rem;transition:background .12s ease,color .12s ease,border-color .12s ease}.ece-outline__add:hover{background:color-mix(in oklab,var(--accent) 45%,transparent);color:var(--foreground);border-color:color-mix(in oklab,var(--primary, #6366f1) 35%,var(--border))}.ece-outline-sheet__title{font-size:.95rem;font-weight:600;letter-spacing:-.01em}.ece-main{padding:.75rem .6rem 1.5rem;min-width:0}@media (min-width: 640px){.ece-main{padding:1rem 1rem 2rem}}@media (min-width: 992px){.ece-main{padding:1.5rem 2rem 3rem}}.ece-section{margin-bottom:1.25rem;background:var(--card);border:1px solid var(--border);border-left-width:4px;border-radius:.75rem;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.ece-section[data-accent="0"]{border-left-color:var(--ece-accent-0)}.ece-section[data-accent="1"]{border-left-color:var(--ece-accent-1)}.ece-section[data-accent="2"]{border-left-color:var(--ece-accent-2)}.ece-section[data-accent="3"]{border-left-color:var(--ece-accent-3)}.ece-section[data-accent="4"]{border-left-color:var(--ece-accent-4)}.ece-section__header{display:flex;align-items:center;gap:.5rem;padding:.65rem .7rem;background:color-mix(in oklab,var(--muted, #f5f5f5) 50%,transparent);border-bottom:1px solid var(--border)}@media (min-width: 640px){.ece-section__header{gap:.75rem;padding:.75rem .9rem}}.ece-section__badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 .45rem;border-radius:.35rem;font-size:.7rem;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-.02em}.ece-section[data-accent="0"] .ece-section__badge{background:var(--ece-accent-0)}.ece-section[data-accent="1"] .ece-section__badge{background:var(--ece-accent-1)}.ece-section[data-accent="2"] .ece-section__badge{background:var(--ece-accent-2)}.ece-section[data-accent="3"] .ece-section__badge{background:var(--ece-accent-3)}.ece-section[data-accent="4"] .ece-section__badge{background:var(--ece-accent-4)}.ece-section__body{padding:.5rem .55rem;display:flex;flex-direction:column;gap:0}@media (min-width: 640px){.ece-section__body{padding:.6rem .875rem}}.ece-section__add{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem;border:1px dashed color-mix(in oklab,var(--primary, #6366f1) 30%,var(--border));border-radius:.5rem;background:transparent;color:color-mix(in oklab,var(--primary, #6366f1) 85%,var(--foreground));font-size:.8rem;font-weight:500;cursor:pointer;transition:background .12s ease,border-color .12s ease}.ece-section__add:hover{background:color-mix(in oklab,var(--primary, #6366f1) 6%,transparent);border-color:color-mix(in oklab,var(--primary, #6366f1) 50%,var(--border))}.ece-section__add--empty{margin:.25rem 0}.ece-question-wrap{display:flex;flex-direction:column;gap:0}.ece-add-between{display:flex;align-items:center;gap:.4rem;width:100%;padding:0;margin:0;height:.85rem;background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .18s ease,height .18s ease;overflow:hidden}.ece-question-wrap:hover .ece-add-between,.ece-add-between:focus-visible{opacity:1;height:1.6rem}@media (hover: none){.ece-add-between{opacity:.55;height:1.2rem}}.ece-add-between__line{flex:1;height:1px;background:color-mix(in oklab,var(--primary, #6366f1) 30%,var(--border))}.ece-add-between__chip{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .55rem;border-radius:9999px;font-size:.66rem;font-weight:600;background:color-mix(in oklab,var(--primary, #6366f1) 10%,var(--card));color:color-mix(in oklab,var(--primary, #6366f1) 90%,var(--foreground));border:1px solid color-mix(in oklab,var(--primary, #6366f1) 30%,var(--border));text-transform:lowercase;letter-spacing:.02em;flex-shrink:0}.ece-add-between:hover .ece-add-between__chip{background:color-mix(in oklab,var(--primary, #6366f1) 18%,var(--card))}.ece-question{position:relative;background:var(--background);border:1px solid var(--border);border-radius:.5rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;margin:.3rem 0}.ece-question:hover{border-color:color-mix(in oklab,var(--primary, #6366f1) 35%,var(--border));box-shadow:0 1px 3px #0f172a0d}.ece-question--dirty:before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:3px;border-radius:2px;background:#f59e0b}.ece-question--collapsed{display:flex;align-items:center;gap:.25rem;padding:.35rem .4rem .35rem .55rem;cursor:pointer}@media (min-width: 640px){.ece-question--collapsed{padding:.4rem .5rem .4rem .65rem}}.ece-question__row{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;background:transparent;border:none;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.ece-question__grip{display:none;align-items:center;justify-content:center;width:1.1rem;height:1.5rem;color:var(--muted-foreground);flex-shrink:0;cursor:grab;opacity:.5;transition:opacity .12s ease}.ece-question:hover .ece-question__grip{opacity:1}@media (min-width: 992px){.ece-question__grip{display:inline-flex}}.ece-question__grip:active{cursor:grabbing}.ece-question__preview{flex:1;min-width:0;font-size:.83rem;line-height:1.35;color:var(--foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ece-question__chips{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.ece-question__chip{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;border-radius:.3rem;font-size:.62rem;font-weight:600;background:color-mix(in oklab,var(--muted, #f5f5f5) 70%,transparent);color:var(--muted-foreground);letter-spacing:.01em;white-space:nowrap}.ece-question__chip--test{background:color-mix(in oklab,rgb(20,184,166) 14%,transparent);color:#0f766e}.ece-question__chip--pts{background:color-mix(in oklab,var(--primary, #6366f1) 10%,transparent);color:color-mix(in oklab,var(--primary, #6366f1) 85%,var(--foreground))}@media (max-width: 539px){.ece-question__chip:not(.ece-question__chip--pts):not(.ece-question__chip--test){display:none}}.ece-question__row-actions{display:inline-flex;align-items:center;gap:.1rem;flex-shrink:0}.ece-question__ai-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:.4rem;border:none;background:transparent;color:color-mix(in oklab,var(--primary, #6366f1) 70%,var(--muted-foreground));cursor:pointer;transition:background .12s ease,color .12s ease}.ece-question__ai-btn:hover{background:color-mix(in oklab,var(--primary, #6366f1) 12%,transparent);color:color-mix(in oklab,var(--primary, #6366f1) 95%,var(--foreground))}.ece-question--expanded{padding:.7rem .75rem;background:var(--card);box-shadow:0 2px 6px #0f172a0f;border-color:color-mix(in oklab,var(--primary, #6366f1) 30%,var(--border))}@media (min-width: 640px){.ece-question--expanded{padding:.875rem 1rem}}.ece-question__header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.ece-question__id{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.5rem;padding:0 .4rem;border-radius:.35rem;background:color-mix(in oklab,var(--primary, #6366f1) 10%,transparent);color:color-mix(in oklab,var(--primary, #6366f1) 85%,var(--foreground));font-weight:700;font-size:.75rem;flex-shrink:0;letter-spacing:-.02em}.ece-question__collapse-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:.4rem;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;transition:background .12s ease,color .12s ease}.ece-question__collapse-btn:hover{background:var(--accent);color:var(--foreground)}@keyframes ece-question-flash{0%{box-shadow:0 0 0 3px color-mix(in oklab,var(--primary, #6366f1) 30%,transparent);background:color-mix(in oklab,var(--primary, #6366f1) 6%,var(--background))}to{box-shadow:0 0 0 0 transparent;background:var(--background)}}.ece-question--flash{animation:ece-question-flash .95s ease-out}.ece-question__body{font-size:.9rem;line-height:1.55;color:var(--foreground);overflow-wrap:anywhere;word-break:break-word;min-width:0}.ece-question__body .katex,.ece-question__body .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}.ece-question__footer{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.6rem;border-top:1px dashed var(--border);font-size:.7rem;color:var(--muted-foreground)}.ece-question__footer-label{font-weight:500}.ece-ai-prompt{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem .35rem .65rem;border-radius:.5rem;background:color-mix(in oklab,var(--primary, #6366f1) 7%,var(--card));border:1px solid color-mix(in oklab,var(--primary, #6366f1) 35%,var(--border));box-shadow:0 1px 3px color-mix(in oklab,var(--primary, #6366f1) 14%,transparent)}.ece-ai-prompt__icon{color:color-mix(in oklab,var(--primary, #6366f1) 90%,var(--foreground));flex-shrink:0}.ece-ai-prompt__close{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border:none;background:transparent;color:var(--muted-foreground);border-radius:.3rem;cursor:pointer;flex-shrink:0}.ece-ai-prompt__close:hover{background:var(--accent);color:var(--foreground)}.ece-subq{padding-left:.6rem;border-left:2px solid color-mix(in oklab,var(--primary, #6366f1) 25%,transparent);padding-top:.45rem;padding-bottom:.45rem}@media (min-width: 640px){.ece-subq{padding-left:1rem;padding-top:.55rem;padding-bottom:.55rem}}.ece-subq__row{display:flex;align-items:flex-start;gap:.45rem}.ece-subq__label{font-size:.8rem;font-weight:700;color:color-mix(in oklab,var(--primary, #6366f1) 80%,var(--foreground));flex-shrink:0;padding-top:.35rem;min-width:1.25rem}.ece-subq__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.4rem}.ece-subq__meta{display:flex;align-items:center;gap:.3rem;font-size:.68rem;color:var(--muted-foreground);flex-wrap:nowrap;overflow-x:auto}.ece-subq__meta>*{flex-shrink:0}.ece-subq__actions{display:flex;align-items:center;gap:0;flex-shrink:0;margin-left:.15rem}.ece-subq__actions button{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--muted-foreground);border-radius:.3rem;cursor:pointer;transition:background .12s ease,color .12s ease}.ece-subq__actions button:hover:not(:disabled){background:var(--accent);color:var(--foreground)}.ece-subq__actions button:disabled{opacity:.35;cursor:not-allowed}.ece-subq__actions button.is-danger:hover:not(:disabled){color:#dc2626;background:#dc262614}.ece-savebar{padding:.65rem .75rem;padding-bottom:max(.65rem,env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--border);box-shadow:0 -4px 16px #0f172a0a;display:flex;align-items:center;gap:.5rem;z-index:10;min-width:0}.ece-savebar__info{flex:1;min-width:0;font-size:.75rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ece-savebar__info--dirty{color:#92400e;font-weight:500}@media (max-width: 420px){.ece-savebar{gap:.4rem;padding:.5rem .65rem}.ece-savebar__info,.ece-savebar__cta-label-long{display:none}.ece-savebar__cta-label-short{display:inline}}@media (min-width: 421px){.ece-savebar__cta-label-short{display:none}.ece-savebar__cta-label-long{display:inline}}.ece-editable{display:block;width:100%;padding:.55rem .7rem;margin:-.35rem -.7rem;border-radius:.4rem;background:transparent;border:1px solid transparent;text-align:left;cursor:text;transition:background .12s ease,border-color .12s ease;font:inherit;color:inherit}.ece-editable:hover{background:color-mix(in oklab,var(--primary, #6366f1) 4%,transparent);border-color:color-mix(in oklab,var(--primary, #6366f1) 15%,transparent)}.ece-editable__placeholder{color:var(--muted-foreground);font-style:italic;font-size:.85rem}.ece-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#1a1a1e;display:flex;flex-direction:column}.ece-preview-overlay--loading{background:#0f172a8c;align-items:center;justify-content:center;gap:.75rem;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ece-preview-overlay__loading-label{font-size:.85rem;font-weight:500;color:#ffffffe0}.ece-ai-sheet{max-height:85vh}.ece-ai-suggest{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:9999px;font-size:.7rem;font-weight:500;border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.ece-ai-suggest:hover:not(:disabled){background:color-mix(in oklab,var(--primary, #6366f1) 8%,var(--card));color:var(--foreground);border-color:color-mix(in oklab,var(--primary, #6366f1) 35%,var(--border))}.ece-ai-suggest:disabled{opacity:.5;cursor:wait}.ece-ai-busy{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem}.ece-ai-busy__card{display:flex;align-items:center;gap:.85rem;padding:1rem 1.2rem;border-radius:.75rem;background:var(--card);border:1px solid var(--border);box-shadow:0 12px 40px #0f172a40;max-width:24rem}.exams-list-scroll{padding-bottom:100px}.exams-list-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-4xl);min-height:200px}.exams-list-hero{background:var(--gradient-primary);padding:var(--space-md) var(--space-lg);padding-top:max(var(--space-md),env(safe-area-inset-top))}.exams-list-hero__nav{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;gap:var(--space-sm)}.exams-list-hero__center{flex:1;text-align:center;min-width:0}.exams-list-hero__title{font-size:var(--font-size-lg);font-weight:700;color:#fff;margin:0;letter-spacing:-.02em;line-height:1.2}.exams-list-hero__subtitle{font-size:var(--font-size-xs);color:#ffffffbf;margin:2px 0 0;font-weight:500}.exams-list-filters{padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-sm)}.exams-list-container{padding:var(--space-lg)}.exams-list-items{display:flex;flex-direction:column;gap:var(--space-sm)}.exams-list-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);display:flex;align-items:center;gap:var(--space-md);cursor:pointer;width:100%}.exams-list-card__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.exams-list-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.exams-list-card__name{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--foreground, var(--color-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.exams-list-card__status{font-size:10px;font-weight:600;padding:3px 8px;border-radius:var(--radius-full);white-space:nowrap;flex-shrink:0}.exams-list-card__meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.exams-list-card__date{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.exams-list-card__lecture{font-size:10px;font-weight:500;color:hsl(var(--primary));background:hsl(var(--primary) / .1);padding:2px 6px;border-radius:var(--radius-sm)}.exams-list-card__footer{display:flex;align-items:center;gap:var(--space-md)}.exams-list-card__progress{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.exams-list-card__progress svg{color:#059669}.exams-list-card__deadline{display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:500}.exams-list-card__actions{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.exams-list-card__delete{width:32px;height:32px;border:none;background:#dc262614;border-radius:var(--radius-md);color:#dc2626;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);opacity:0}.exams-list-card:hover .exams-list-card__delete{opacity:1}.exams-list-card__delete:hover{background:#dc262626}.exams-list-card__arrow{color:var(--color-text-muted)}@media (prefers-color-scheme: dark){.exams-list-hero{background:#0d4a44}.exams-list-filters{background:var(--color-surface);border-bottom-color:#ffffff14}.exams-list-card{background:var(--color-surface);border-color:#ffffff14}.exams-list-card:hover{background:var(--color-surface-hover);border-color:#ffffff1f}.exams-list-card__lecture{background:#2c9e9226;color:#2c9e92}.exams-list-card__arrow{color:#52525b}.exams-list-card__delete{background:#dc26261f}}@media (max-width: 768px){.exams-list-card__delete{opacity:1}}@media (max-width: 380px){.exams-list-hero__title{font-size:var(--font-size-base)}.exams-list-card{padding:var(--space-sm) var(--space-md)}.exams-list-card__name{font-size:var(--font-size-sm)}}@media (min-width: 992px){.exams-list-hero{padding:var(--space-sm) var(--space-2xl)}.exams-list-filters,.exams-list-container{max-width:1280px;margin-left:auto;margin-right:auto}.exams-list-items{display:grid;grid-template-columns:repeat(2,1fr)}}@media (min-width: 1280px){.exams-list-items{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1600px){.exams-list-items{grid-template-columns:repeat(4,1fr)}.exams-list-card:hover{border-color:hsl(var(--primary))}}.exams-list-card:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.exams-filter-bar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.exams-filter-select{width:auto!important;min-width:0;height:32px!important;font-size:13px!important;font-weight:600!important;gap:6px!important;padding:0 10px!important;border-radius:var(--radius-full)!important}.exams-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:rgba(var(--color-primary-rgb, 21, 102, 94),.1);font-size:11px;font-weight:700;color:var(--color-primary)}.exams-filter-summary{font-size:var(--font-size-xs);color:var(--color-muted-foreground);white-space:nowrap;margin-left:auto}@keyframes diagRevealUp{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes diagRevealIn{0%{opacity:0}to{opacity:1}}@keyframes diagDrawLine{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes diagFillGrow{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.diag-root{position:relative;width:100%;max-width:1100px;margin:0 auto;padding:1rem;color:var(--foreground, #0f172a);font-family:inherit}.diag-title{font-weight:700;font-size:1.125rem;margin:0 0 .25rem;color:var(--foreground, #0f172a)}.diag-subtitle{font-size:.875rem;color:var(--muted-foreground, #64748b);margin:0 0 1rem}.diag-reveal{animation:diagRevealUp .42s cubic-bezier(.2,.7,.2,1) backwards}.diag-reveal-in{animation:diagRevealIn .42s ease-out backwards}.diag-grow{animation:diagFillGrow .42s cubic-bezier(.2,.8,.2,1) backwards;transform-origin:center}.diag-draw{stroke-dasharray:100%;stroke-dashoffset:100%;animation:diagDrawLine .6s ease-out forwards}.diag-card{border:1px solid var(--border, #e2e8f0);border-radius:12px;padding:.75rem 1rem;background:var(--background, #fff);box-shadow:0 1px 2px #00000008}.diag-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.diag-label{font-weight:600;font-size:.95rem;line-height:1.3}.diag-desc{font-size:.8rem;color:var(--muted-foreground, #64748b);margin-top:.2rem}@media (prefers-reduced-motion: reduce){.diag-reveal,.diag-reveal-in,.diag-grow,.diag-draw{animation:none!important}}.card-canvas{width:100%;height:100%;display:flex;flex-direction:column;position:relative;padding:56px 64px;color:var(--slide-text, #1f2937);font-family:var(--slide-font, "Inter", system-ui, sans-serif);overflow:hidden}.card-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slide-primary, #0b1d3a);margin-bottom:14px;opacity:.7;white-space:nowrap;flex-shrink:0}.card-eyebrow>span:not(.card-eyebrow__dot){white-space:nowrap}.card-eyebrow__dot{width:6px;height:6px;border-radius:50%;background:var(--slide-accent, #e5553b)}.card-title{font-family:var(--slide-font-display, var(--slide-font, "Inter", sans-serif));font-weight:var(--slide-title-weight, 600);font-size:38px;line-height:1.18;letter-spacing:-.01em;color:var(--slide-primary, #0b1d3a);margin:0 0 16px}.card-subtitle{font-size:18px;line-height:1.45;color:var(--slide-text-muted, #6b6760);margin:0 0 28px;max-width:920px}.card-body{flex:1;display:flex;flex-direction:column;min-height:0}.card-type-chip{position:absolute;bottom:20px;left:64px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--slide-text-muted, #6b6760);letter-spacing:.04em;opacity:.55}.card-type-chip__emoji{font-size:14px}.card--cover{align-items:center;justify-content:center;text-align:center;background:var(--slide-cover-bg, var(--slide-bg));color:var(--slide-cover-text, var(--slide-text))}.card--cover .card-eyebrow{color:var(--slide-cover-text, #fff);opacity:.85}.card--cover .card-title{font-size:64px;line-height:1.1;color:var(--slide-cover-text, #fff);max-width:1000px}.card--cover .card-subtitle{font-size:22px;color:var(--slide-cover-text, #fff);opacity:.75;margin-top:24px}.card--cover .card-cover-meta{position:absolute;bottom:56px;left:64px;right:64px;display:flex;justify-content:space-between;font-size:13px;color:var(--slide-cover-text, #fff);opacity:.65;letter-spacing:.06em;text-transform:uppercase}.card--section{align-items:flex-start;justify-content:center;background:var(--slide-section-bg, var(--slide-bg))}.card--section .card-section-num{font-family:var(--slide-font-display);font-size:92px;line-height:1;font-weight:700;color:var(--slide-accent, #e5553b);opacity:.85;margin-bottom:20px}.card--section .card-title{font-size:56px;color:var(--slide-section-text, var(--slide-primary));max-width:880px}.card-objectives__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px;margin-top:8px;align-content:center;flex:1}.card-objective{display:flex;gap:18px;padding:22px 24px;background:color-mix(in srgb,var(--slide-primary, #0b1d3a) 4%,transparent);border-radius:16px;border:1px solid var(--slide-border, rgba(0,0,0,.08));align-items:flex-start}.card-objective__num{flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--slide-accent, #e5553b);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}.card-objective__text{font-size:17px;line-height:1.45;color:var(--slide-text);margin:6px 0 0}.card-summary__list{display:flex;flex-direction:column;gap:12px;flex:1;justify-content:center}.card-summary__row{display:flex;gap:18px;align-items:flex-start;padding:18px 22px;background:#fff;border-radius:12px;border:1px solid var(--slide-border);border-left:4px solid var(--slide-accent)}.card-summary__check{flex-shrink:0;color:var(--slide-accent);font-size:22px;line-height:1;margin-top:2px}.card-summary__text{font-size:17px;line-height:1.45;margin:0;color:var(--slide-text)}.card-summary__takeaway{margin-top:28px;padding:22px 24px;background:var(--slide-primary);color:#fff;border-radius:14px;font-size:18px;line-height:1.45;font-weight:500}.card--closing .card-body{justify-content:space-between}.card--closing .card-title{font-size:48px;margin-bottom:18px}.card-closing__message{font-size:21px;line-height:1.5;color:var(--slide-text);max-width:980px;margin:0 0 28px}.card-closing__next{display:inline-flex;align-items:center;gap:14px;padding:20px 28px;background:var(--slide-accent);color:#fff;border-radius:16px;font-size:18px;font-weight:600;margin-bottom:24px;box-shadow:0 8px 28px color-mix(in srgb,var(--slide-accent) 28%,transparent)}.card-closing__next-arrow{font-size:22px}.card-closing__resources{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:auto}.card-closing__resource{background:#fff;border:1px solid var(--slide-border);border-radius:12px;font-size:14px;color:var(--slide-text-muted);position:relative;padding:16px 18px 16px 38px}.card-closing__resource:before{content:"↗";position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--slide-accent);font-weight:700;font-size:16px}.card-definition{display:grid;grid-template-columns:360px 1fr;gap:40px;flex:1;align-items:stretch}.card-definition__hero{background:var(--slide-primary);color:#fff;border-radius:20px;padding:32px 28px;display:flex;flex-direction:column;justify-content:center}.card-definition__hero-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.7;margin-bottom:12px}.card-definition__term{font-family:var(--slide-font-display);font-size:38px;line-height:1.1;font-weight:700;margin:0}.card-definition__rhs{display:flex;flex-direction:column;gap:18px;min-width:0}.card-definition__definition{font-size:21px;line-height:1.45;color:var(--slide-text);margin:0}.card-definition__chip{display:inline-block;padding:4px 10px;background:color-mix(in srgb,var(--slide-accent) 12%,transparent);color:var(--slide-accent);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:6px;margin-bottom:6px}.card-definition__sub{background:#fff;border:1px solid var(--slide-border);border-radius:12px;padding:18px 20px;font-size:16px;line-height:1.5;color:var(--slide-text)}.card-definition__keys{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.card-definition__key{background:color-mix(in srgb,var(--slide-primary) 6%,transparent);color:var(--slide-primary);font-size:13px;padding:6px 12px;border-radius:999px}.card--key-idea .card-body{display:grid;grid-template-columns:3fr 2fr;gap:48px;align-items:center;flex:1}.card-key-idea__lhs{display:flex;flex-direction:column;justify-content:center}.card-key-idea__head{font-family:var(--slide-font-display);font-weight:700;font-size:52px;line-height:1.05;letter-spacing:-.012em;color:var(--slide-primary);margin:0 0 22px}.card-key-idea__support{font-size:19px;line-height:1.5;color:var(--slide-text)}.card-key-idea__accent{width:60px;height:5px;background:var(--slide-accent);border-radius:999px;margin-bottom:22px}.card-key-idea__visual{position:relative;align-self:stretch;background:linear-gradient(135deg,color-mix(in srgb,var(--slide-primary) 8%,transparent),color-mix(in srgb,var(--slide-accent) 14%,transparent));border-radius:24px;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:320px}.card-key-idea__visual:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:color-mix(in srgb,var(--slide-accent) 22%,transparent);top:-40px;right:-60px}.card-key-idea__visual:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;border:6px solid color-mix(in srgb,var(--slide-primary) 25%,transparent);bottom:-30px;left:-30px}.card-key-idea__mark{position:relative;z-index:1;font-family:var(--slide-font-display);font-size:180px;font-weight:700;line-height:1;color:var(--slide-primary);opacity:.18}.card-comparison__intro{font-size:16px;color:var(--slide-text-muted);margin-bottom:24px;max-width:880px}.card-comparison__grid{display:grid;gap:16px;flex:1;min-height:0}.card-comparison__col{display:flex;flex-direction:column;background:#fff;border:1px solid var(--slide-border);border-radius:16px;overflow:hidden}.card-comparison__col-header{background:var(--slide-primary);color:#fff;padding:16px 20px;font-weight:600;font-size:18px;letter-spacing:.01em}.card-comparison__col-body{padding:18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}.card-comparison__item{font-size:15px;line-height:1.45;color:var(--slide-text);display:flex;gap:10px}.card-comparison__item:before{content:"·";color:var(--slide-accent);font-weight:700;font-size:22px;line-height:1}.card-comparison__criteria{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px}.card-comparison__criterion{font-size:12px;padding:6px 10px;background:color-mix(in srgb,var(--slide-text-muted) 10%,transparent);border-radius:6px;color:var(--slide-text-muted);font-weight:500}.card-process{display:flex;flex-direction:column;gap:16px;flex:1}.card-process__step{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:stretch;background:#fff;border:1px solid var(--slide-border);border-radius:14px;overflow:hidden}.card-process__step-num{background:var(--slide-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px;font-family:var(--slide-font-display)}.card-process__step-body{padding:14px 18px;display:flex;flex-direction:column;gap:4px;min-width:0}.card-process__step-label{font-size:17px;font-weight:600;color:var(--slide-primary);margin:0}.card-process__step-desc{font-size:14px;line-height:1.5;color:var(--slide-text);margin:0}.card-process--cyclic .card-process__step-num{background:var(--slide-accent)}.card-timeline{position:relative;padding-left:32px;display:flex;flex-direction:column;gap:18px;flex:1}.card-timeline:before{content:"";position:absolute;left:12px;top:8px;bottom:8px;width:2px;background:color-mix(in srgb,var(--slide-primary) 25%,transparent)}.card-timeline__item{position:relative;padding:12px 0}.card-timeline__dot{position:absolute;left:-28px;top:18px;width:14px;height:14px;border-radius:50%;background:var(--slide-accent);box-shadow:0 0 0 4px var(--slide-bg)}.card-timeline__date{font-family:var(--slide-font-display);font-weight:700;font-size:17px;color:var(--slide-primary);letter-spacing:.01em}.card-timeline__label{font-size:17px;font-weight:600;color:var(--slide-text);margin:4px 0 0}.card-timeline__desc{font-size:14px;line-height:1.5;color:var(--slide-text-muted);margin:4px 0 0}.card-concept-map{display:grid;grid-template-columns:1fr 1.2fr;gap:32px;align-items:center;flex:1}.card-concept-map__center{display:flex;align-items:center;justify-content:center}.card-concept-map__node{width:220px;height:220px;border-radius:50%;background:var(--slide-primary);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--slide-font-display);font-weight:700;font-size:22px;line-height:1.2;padding:16px;box-shadow:0 12px 40px #00000014}.card-concept-map__branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.card-concept-map__branch{background:#fff;border:1px solid var(--slide-border);border-radius:12px;padding:14px 16px;position:relative}.card-concept-map__branch:before{content:"";position:absolute;left:-16px;top:50%;width:12px;height:2px;background:var(--slide-accent)}.card-concept-map__branch-label{font-weight:600;font-size:15px;color:var(--slide-primary);margin:0 0 6px}.card-concept-map__branch-text{font-size:13px;line-height:1.45;color:var(--slide-text-muted);margin:0}.card-data{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;flex:1;min-height:0}.card-data__chart{background:#fff;border:1px solid var(--slide-border);border-radius:16px;padding:24px;min-height:320px;display:flex;flex-direction:column}.card-data__bars{flex:1;display:flex;align-items:flex-end;gap:12px;padding-top:16px}.card-data__bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.card-data__bar-fill{width:100%;background:linear-gradient(to top,var(--slide-primary),color-mix(in srgb,var(--slide-primary) 60%,var(--slide-accent)));border-radius:8px 8px 4px 4px;min-height:6px;transition:height .6s cubic-bezier(.2,.8,.2,1)}.card-data__bar-value{font-size:13px;font-weight:700;color:var(--slide-primary)}.card-data__bar-label{font-size:12px;color:var(--slide-text-muted);text-align:center;width:100%;word-wrap:break-word}.card-data__pie{flex:1;display:flex;align-items:center;justify-content:center}.card-data__interp{display:flex;flex-direction:column;justify-content:center}.card-data__insight{font-size:19px;line-height:1.5;color:var(--slide-text);margin:0 0 14px}.card-data__source{font-size:12px;color:var(--slide-text-muted);font-style:italic}.card-worked{display:flex;flex-direction:column;gap:14px;flex:1}.card-worked__problem{background:color-mix(in srgb,var(--slide-primary) 8%,transparent);border-left:4px solid var(--slide-primary);border-radius:12px;padding:16px 20px}.card-worked__problem-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slide-primary);opacity:.7;margin-bottom:6px}.card-worked__problem-text{font-size:17px;line-height:1.5;color:var(--slide-text);margin:0}.card-worked__steps{display:flex;flex-direction:column;gap:10px}.card-worked__step{display:grid;grid-template-columns:36px 1fr;gap:14px;background:#fff;border:1px solid var(--slide-border);border-radius:10px;padding:14px 16px}.card-worked__step-num{width:28px;height:28px;border-radius:50%;background:var(--slide-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.card-worked__step-body{display:flex;flex-direction:column;gap:6px;min-width:0}.card-worked__step-text{font-size:15px;line-height:1.45;color:var(--slide-text);margin:0}.card-worked__step-math{background:#f7f5ee;border-radius:6px;padding:8px 12px;font-size:16px;overflow-x:auto}.card-worked__result{background:var(--slide-accent);color:#fff;padding:16px 20px;border-radius:12px;font-weight:600;font-size:18px;display:flex;align-items:center;gap:12px}.card-worked__result-arrow{font-size:22px}.card-worked__hint{font-size:13px;color:var(--slide-text-muted);font-style:italic}.card-equation{display:flex;flex-direction:column;gap:24px;flex:1}.card-equation__hero{background:var(--slide-primary);color:#fff;border-radius:16px;padding:36px 32px;text-align:center;font-size:28px}.card-equation__variables{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.card-equation__var{background:#fff;border:1px solid var(--slide-border);border-radius:10px;padding:14px 16px}.card-equation__var-row{display:flex;align-items:baseline;gap:12px}.card-equation__var-symbol{font-family:"Cambria Math","STIX Two Math",serif;font-size:22px;font-weight:700;color:var(--slide-accent)}.card-equation__var-meaning{font-size:14px;line-height:1.4;color:var(--slide-text)}.card-equation__var-unit{font-size:12px;color:var(--slide-text-muted);margin-left:auto;background:color-mix(in srgb,var(--slide-text-muted) 10%,transparent);padding:2px 8px;border-radius:4px}.card-equation__example{background:color-mix(in srgb,var(--slide-accent) 8%,transparent);border-left:4px solid var(--slide-accent);border-radius:8px;padding:14px 18px;font-size:15px;line-height:1.5;color:var(--slide-text)}.card-code__layout{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;flex:1;min-height:0}.card-code__editor-wrap{display:flex;flex-direction:column;background:#0f172a;border-radius:14px;overflow:hidden}.card-code__editor-header{background:#1e293b;padding:8px 14px;font-size:11px;color:#94a3b8;font-family:ui-monospace,monospace;display:flex;justify-content:space-between}.card-code__editor-body{flex:1;overflow:auto}.card-code__rhs{display:flex;flex-direction:column;gap:14px}.card-code__explanation{font-size:16px;line-height:1.5;color:var(--slide-text);margin:0}.card-code__notes{display:flex;flex-direction:column;gap:8px}.card-code__note{display:grid;grid-template-columns:38px 1fr;gap:10px;background:#fff;border:1px solid var(--slide-border);border-radius:8px;padding:8px 12px}.card-code__note-line{background:var(--slide-primary);color:#fff;font-family:ui-monospace,monospace;font-size:12px;font-weight:600;border-radius:4px;display:flex;align-items:center;justify-content:center}.card-code__note-text{font-size:13px;color:var(--slide-text);line-height:1.45}.card--quote{align-items:center;justify-content:center}.card-quote{max-width:980px;text-align:center}.card-quote__open{font-family:var(--slide-font-display);font-size:110px;line-height:.7;color:var(--slide-accent);font-weight:700;margin-bottom:-10px}.card-quote__text{font-family:var(--slide-font-display);font-size:32px;line-height:1.4;color:var(--slide-primary);margin:0 0 28px;font-weight:500;font-style:italic}.card-quote__author{font-size:16px;font-weight:600;color:var(--slide-text);margin:0;letter-spacing:.04em}.card-quote__work{font-size:14px;color:var(--slide-text-muted);font-style:italic}.card-quote__context{margin-top:24px;font-size:14px;color:var(--slide-text-muted);max-width:720px;margin-left:auto;margin-right:auto;line-height:1.5}.card-illust{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;flex:1;min-height:0}.card-illust__svg-wrap{background:#fff;border:1px solid var(--slide-border);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:16px;position:relative;overflow:hidden}.card-illust__svg-wrap svg{max-width:100%;max-height:100%;width:100%;height:100%}.card-illust__caption{position:absolute;bottom:12px;left:16px;right:16px;font-size:12px;color:var(--slide-text-muted);text-align:center;font-style:italic}.card-illust__legend{display:flex;flex-direction:column;gap:10px}.card-illust__label{display:grid;grid-template-columns:28px 1fr;gap:12px;background:#fff;border:1px solid var(--slide-border);border-radius:10px;padding:12px 14px;align-items:flex-start}.card-illust__label-num{width:24px;height:24px;border-radius:50%;background:var(--slide-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.card-illust__label-body{display:flex;flex-direction:column;gap:4px;min-width:0}.card-illust__label-name{font-size:15px;font-weight:600;color:var(--slide-primary);margin:0}.card-illust__label-desc{font-size:13px;color:var(--slide-text-muted);line-height:1.4;margin:0}.svg-anchor{cursor:default}.svg-anchor circle{fill:var(--slide-accent, #e5553b);stroke:#fff;stroke-width:2}.svg-anchor text{font-family:Inter,sans-serif;font-weight:700;font-size:11px;fill:#fff;text-anchor:middle;dominant-baseline:central;pointer-events:none}.card-quick{display:flex;flex-direction:column;gap:24px;flex:1}.card-quick__question{font-family:var(--slide-font-display);font-size:28px;line-height:1.3;font-weight:600;color:var(--slide-primary);margin:0}.card-quick__options{display:flex;flex-direction:column;gap:12px}.card-quick__option{display:grid;grid-template-columns:44px 1fr;gap:16px;background:#fff;border:2px solid var(--slide-border);border-radius:12px;padding:16px 20px;align-items:center;transition:border-color .2s ease}.card-quick__option--correct{border-color:#16a34a;background:color-mix(in srgb,#16a34a 6%,white)}.card-quick__option-letter{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--slide-primary) 8%,transparent);color:var(--slide-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--slide-font-display)}.card-quick__option--correct .card-quick__option-letter{background:#16a34a;color:#fff}.card-quick__option-text{font-size:16px;line-height:1.4;color:var(--slide-text)}.card-quick__explanation{margin-top:8px;background:color-mix(in srgb,var(--slide-accent) 8%,transparent);border-radius:10px;padding:14px 18px;font-size:14px;color:var(--slide-text);line-height:1.5}.card--mini-activity{background:linear-gradient(135deg,var(--slide-bg),color-mix(in srgb,var(--slide-accent) 6%,var(--slide-bg)))}.card-activity__instr{font-size:21px;line-height:1.5;color:var(--slide-text);background:#fff;border-left:4px solid var(--slide-accent);padding:22px 24px;border-radius:10px;margin-bottom:20px}.card-activity__meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}.card-activity__pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:8px 14px;background:var(--slide-primary);color:#fff;border-radius:999px}.card-activity__pill--time{background:var(--slide-accent)}.card-activity__hint{font-size:14px;color:var(--slide-text-muted);font-style:italic;margin-top:18px}.card-activity__expected{font-size:14px;color:var(--slide-text);margin-top:14px;padding:12px 16px;background:color-mix(in srgb,var(--slide-primary) 6%,transparent);border-radius:8px}.card-activity__expected-label{font-weight:700;color:var(--slide-primary);margin-right:6px}.card--reflection{align-items:center;justify-content:center;text-align:center}.card-reflection__icon{font-size:48px;margin-bottom:16px}.card-reflection__question{font-family:var(--slide-font-display);font-size:36px;line-height:1.3;font-weight:500;color:var(--slide-primary);margin:0 0 28px;max-width:880px}.card-reflection__prompts{display:flex;flex-direction:column;gap:10px;max-width:720px;margin:0 auto}.card-reflection__prompt{font-size:16px;color:var(--slide-text-muted);font-style:italic}.card--empty{align-items:center;justify-content:center;color:var(--slide-text-muted);font-size:16px}.card-format--formal .card-canvas{padding:60px 72px}.card-format--formal .card-title{font-size:36px;letter-spacing:-.005em;font-weight:700}.card-format--formal .card-eyebrow{font-size:11px;opacity:.55}.card-format--formal .card-key-idea__head{font-size:44px}.card-format--formal .card-definition__definition{font-size:19px}.card-format--formal .card-key-idea__visual{display:none}.card-format--formal .card--key-idea .card-body{grid-template-columns:1fr}.card-format--formal .card-type-chip{display:none}.card-format--visual .card-canvas{padding:64px 80px}.card-format--visual .card-title{font-size:42px;font-weight:700}.card-format--visual .card-eyebrow{font-size:13px;font-weight:800;color:var(--slide-accent);opacity:1}.card-format--visual .card-eyebrow__dot{width:8px;height:8px;background:var(--slide-accent)}.card-format--visual .card-key-idea__head{font-size:64px;line-height:1}.card-format--visual .card-definition__hero{background:linear-gradient(160deg,var(--slide-primary),color-mix(in srgb,var(--slide-primary) 55%,var(--slide-accent)))}.card-format--visual .card-process__step{border-radius:18px}.card-format--visual .card-data__bar-fill{border-radius:12px 12px 6px 6px}.card-format--examen .card-canvas{padding:40px 56px}.card-format--examen .card-title{font-size:30px;font-weight:700;margin-bottom:12px}.card-format--examen .card-eyebrow{font-size:10px;opacity:.5}.card-format--examen .card-key-idea__head{font-size:36px}.card-format--examen .card-definition__hero{padding:22px 20px;background:var(--slide-primary)}.card-format--examen .card-definition__term{font-size:28px}.card-format--examen .card-definition__definition{font-size:17px}.card-format--examen .card-key-idea__visual{display:none}.card-format--examen .card--key-idea .card-body{grid-template-columns:1fr}.card-format--examen .card-process__step{padding:6px 12px}.card-format--examen .card-process__step-num{font-size:18px}.card-format--examen .card-objective{padding:14px 18px;background:transparent;border-color:var(--slide-border)}.card-format--examen .card-type-chip{display:none}.card-format--examen .slide-decoration{display:none!important}.card-format--interactivo .card-canvas{padding:56px 64px}.card-format--interactivo .card-title{font-size:40px}.card-format--interactivo .card-eyebrow{font-size:12px;font-weight:800;color:#fff;background:var(--slide-accent);padding:5px 12px;border-radius:999px;opacity:1;margin-bottom:18px}.card-format--interactivo .card-eyebrow__dot{display:none}.card-format--interactivo .card-quick__option--correct{border-width:3px}.card-format--interactivo .card-quick__question{font-size:32px}.card-format--interactivo .card--reflection .card-reflection__icon{font-size:64px;margin-bottom:20px}.card-format--interactivo .card-reflection__question{font-size:40px}.card-format--interactivo .card-activity__pill{font-size:14px;padding:10px 16px}.slide-frame{position:relative;aspect-ratio:16 / 9;width:100%;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #00000014;font-family:inherit;isolation:isolate}.slide-frame--editable{cursor:default}.slide-canvas{position:absolute;top:0;left:0;width:1280px;height:720px;transform-origin:top left;transform:scale(var(--canvas-scale, 1))}.slide-decoration{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.slide-decoration--orb:before,.slide-decoration--orb:after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}.slide-decoration--orb:before{width:760px;height:760px;top:-240px;right:-180px;background:radial-gradient(circle,var(--slide-accent, #fff) 0%,transparent 70%)}.slide-decoration--orb:after{width:500px;height:500px;bottom:-120px;left:-120px;background:radial-gradient(circle,var(--slide-primary, #fff) 0%,transparent 70%);opacity:.3}.slide-decoration--grid{background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.14) 1px,transparent 0);background-size:36px 36px;opacity:.9}.slide-decoration--stripe:before{content:"";position:absolute;width:220%;height:180px;top:60%;left:-60%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.16) 50%,transparent 100%);transform:rotate(-14deg)}.slide-decoration--stripe:after{content:"";position:absolute;width:100%;height:14px;top:0;left:0;background:var(--slide-accent, transparent);opacity:.85}.slide-decoration--pattern{background-size:24px 24px;opacity:.5}.slide-decoration--ribbon{background:radial-gradient(ellipse at 105% 0%,rgba(124,58,237,.22) 0%,transparent 38%),radial-gradient(ellipse at 110% 60%,rgba(236,72,153,.22) 0%,transparent 32%),radial-gradient(ellipse at 100% 110%,rgba(59,130,246,.22) 0%,transparent 36%);opacity:.95}.slide-decoration--ribbon:before{content:"";position:absolute;top:-10%;right:-8%;width:46%;height:130%;background:linear-gradient(165deg,transparent 0 22%,rgba(124,58,237,.55) 22% 26%,transparent 26% 36%,rgba(236,72,153,.45) 36% 41%,transparent 41% 56%,rgba(59,130,246,.55) 56% 60%,transparent 60% 100%);filter:blur(.4px);border-radius:50% 0 50% 50%/60% 0 60% 60%;transform:rotate(-6deg);opacity:.85;pointer-events:none}.slide-decoration--ribbon:after{content:"";position:absolute;top:12%;right:-2%;width:38%;height:100%;background:linear-gradient(165deg,transparent 0 30%,rgba(255,255,255,.45) 30% 32%,transparent 32% 56%,rgba(255,255,255,.3) 56% 58%,transparent 58% 100%);border-radius:50% 0 50% 50%/60% 0 60% 60%;transform:rotate(-6deg);pointer-events:none}.slide-body{height:100%;width:100%;display:flex;flex-direction:column;box-sizing:border-box;position:relative;z-index:1}.slide-body--cover{padding:84px 104px;justify-content:flex-end;align-items:flex-start;gap:24px}.slide-body--cover:before{content:"";width:72px;height:3px;background:var(--slide-accent, currentColor);border-radius:2px;margin-bottom:16px;opacity:.95}.slide-body--section{padding:72px 96px;justify-content:center;align-items:center;text-align:center;gap:14px}.slide-body--content{padding:56px 72px;gap:24px}.slide-body--closing{padding:72px 96px;justify-content:center;align-items:center;text-align:center;gap:22px}.slide-body--split{padding:56px 72px;gap:28px}.slide-body--split .split-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:stretch}.slide-body--split .split-text{display:flex;flex-direction:column;gap:18px;justify-content:center;min-width:0}.slide-body--split .split-visual{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:hidden}.slide-body--split .split-visual>*{width:100%;max-height:100%}.slide-body--diagram-bleed{padding:36px 56px 28px;gap:16px}.slide-body--diagram-bleed .slide-title-content{font-size:30px;margin:0 0 4px;padding-bottom:8px}.slide-body--diagram-bleed .bleed-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.slide-body--diagram-bleed .bleed-stage>*{max-width:100%;max-height:100%}.slide-body--stat-hero{padding:80px 96px;gap:32px;justify-content:center}.slide-body--stat-hero .slide-title-content{font-size:28px;font-weight:600;margin:0 0 4px;padding-bottom:8px;opacity:.85}.slide-stat-hero-value{font-family:var(--slide-font-display, inherit);font-size:200px;font-weight:700;line-height:.9;letter-spacing:-.04em;color:var(--slide-primary, currentColor);margin:0}.slide-stat-hero-label{font-size:22px;line-height:1.4;color:var(--slide-text-muted, currentColor);max-width:70%;margin:0}.slide-body--stat-hero .stat-hero-aside{margin-top:12px;max-width:80%}.slide-body--quote-hero{padding:80px 120px;justify-content:center;align-items:center;text-align:center;gap:24px}.slide-quote-hero-mark{width:72px;height:50px;color:var(--slide-accent, currentColor);opacity:.55;display:block;margin-bottom:12px}.slide-quote-hero-text{font-family:var(--slide-font-display, inherit);font-size:48px;font-weight:500;line-height:1.18;margin:0;max-width:92%;letter-spacing:-.01em;text-wrap:balance}.slide-quote-hero-author{font-size:20px;color:var(--slide-text-muted, currentColor);margin:0;letter-spacing:.02em}.slide-body--cards-hero{padding:56px 80px;gap:36px;align-items:center;justify-content:center}.slide-body--cards-hero .slide-title-content{text-align:center;font-size:38px;margin:0;padding-bottom:14px}.slide-body--cards-hero .slide-title-content:after{left:50%;transform:translate(-50%)}.slide-body--cards-hero .cards-hero-stage{width:100%;display:flex;justify-content:center}.slide-body--cards-hero .cards-hero-stage>*{width:100%;max-width:1080px}.slide-body--duo{padding:56px 72px;gap:28px}.slide-body--duo .duo-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:32px}.slide-body--duo .duo-col{display:flex;flex-direction:column;gap:14px;min-width:0;min-height:0}.slide-body--duo .duo-col--accent{position:relative;padding-left:22px}.slide-body--duo .duo-col--accent:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:var(--duo-accent, var(--slide-accent, #7c3aed));border-radius:4px}.slide-body--numbered{padding:56px 72px;gap:28px}.slide-body--numbered .numbered-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:18px;overflow:hidden}.slide-numbered-item{display:grid;grid-template-columns:88px 1fr;gap:28px;align-items:baseline;padding:16px 0;border-top:1px solid var(--slide-border, rgba(0,0,0,.08))}.slide-numbered-item:first-child{border-top:none;padding-top:4px}.slide-numbered-marker{font-family:var(--slide-font-display, inherit);font-size:48px;font-weight:600;line-height:1;letter-spacing:-.025em;color:var(--slide-accent, var(--slide-primary, currentColor));font-variant-numeric:tabular-nums;opacity:.85}.slide-numbered-body{display:flex;flex-direction:column;gap:5px;padding-top:4px}.slide-numbered-title{font-size:20px;font-weight:700;margin:0;line-height:1.3;letter-spacing:-.005em}.slide-numbered-text{font-size:15.5px;line-height:1.55;margin:0;opacity:.78}.slide-title-xl{font-family:var(--slide-font-display, inherit);font-size:72px;font-weight:var(--slide-title-weight, 700);letter-spacing:-.025em;line-height:1.02;margin:0;word-break:break-word;text-wrap:balance}.slide-subtitle-xl{font-family:inherit;font-size:28px;opacity:.82;margin:0;line-height:1.35;max-width:78%;text-wrap:balance}.slide-title-section{font-family:var(--slide-font-display, inherit);font-size:56px;font-weight:var(--slide-title-weight, 700);margin:0;line-height:1.08;word-break:break-word;letter-spacing:-.015em;text-wrap:balance}.slide-title-content{font-family:var(--slide-font-display, inherit);font-size:40px;font-weight:var(--slide-title-weight, 700);letter-spacing:-.018em;line-height:1.1;padding-bottom:14px;margin:0 0 12px;word-break:break-word;position:relative;text-wrap:balance}.slide-title-content:after{content:"";position:absolute;bottom:0;left:0;width:56px;height:2px;background:var(--slide-accent, var(--slide-primary, currentColor));border-radius:1px;opacity:.85}.slide-text-base{font-size:19px;line-height:1.55;letter-spacing:-.002em}.slide-text-sm{font-size:15px;line-height:1.5;letter-spacing:0}.slide-blocks{flex:1;min-height:0;display:flex;flex-direction:column;gap:18px;overflow:hidden}.slide-eyebrow{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;opacity:.55;font-family:inherit}.slide-eyebrow:before{content:"— ";opacity:.7}.slide-stat-value{font-family:var(--slide-font-display, inherit);font-size:80px;font-weight:700;line-height:.95;letter-spacing:-.03em}.slide-stat-label{font-size:15px;margin-top:8px;opacity:.75}.slide-page-indicator{position:absolute;bottom:22px;right:32px;font-size:11px;font-weight:600;letter-spacing:.16em;opacity:.45;z-index:2;font-variant-numeric:tabular-nums}.slide-logo{position:absolute;bottom:22px;left:32px;height:26px;max-width:110px;object-fit:contain;opacity:.7;pointer-events:none;z-index:2}.slide-thumb{position:relative;aspect-ratio:16 / 9;width:100%;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;overflow:hidden;cursor:pointer;background:var(--color-muted, #f8fafc);transition:border-color .16s,box-shadow .16s}.slide-thumb:hover{border-color:var(--color-primary, #6366f1)}.slide-thumb--active{border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary, #6366f1) 20%,transparent)}.slide-thumb__inner{position:absolute;top:0;right:0;bottom:0;left:0;transform:scale(.22);transform-origin:top left;width:454%;height:454%;pointer-events:none}.slide-typewriter-cursor{display:inline-block;margin-left:1px;animation:slide-caret-blink .9s steps(2) infinite;opacity:.6;transform:translateY(-.05em)}@keyframes slide-caret-blink{0%{opacity:.6}50%{opacity:0}to{opacity:.6}}.pe-shell{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-background, #f8fafc)}.pe-header{display:flex;flex-direction:column;gap:.5rem;padding:.6rem .85rem;border-bottom:1px solid var(--color-border, rgba(15, 23, 42, .1));background:var(--color-card, #ffffff);position:sticky;top:0;z-index:30}.pe-header-row{display:flex;align-items:center;gap:.5rem;min-width:0}.pe-back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background:transparent;cursor:pointer;color:var(--color-foreground, #0f172a);flex-shrink:0;transition:background .12s}.pe-back:hover{background:var(--color-accent, #f1f5f9)}.pe-title-area{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.pe-title-input{font-weight:600;border:none!important;box-shadow:none!important;font-size:1rem!important;padding:2px 6px!important;height:auto!important;min-height:28px;background:transparent!important;color:var(--color-foreground, #0f172a)}.pe-title-input:focus{background:var(--color-muted, #f1f5f9)!important;border-radius:6px}.pe-header-meta{display:flex;align-items:center;white-space:nowrap;font-size:11px;flex-shrink:0}.pe-header-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0}.pe-header-actions::-webkit-scrollbar{display:none}.pe-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;min-width:36px;padding:0 12px;border-radius:9px;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));background:var(--color-card, #ffffff);color:var(--color-foreground, #0f172a);font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;flex-shrink:0;box-shadow:0 1px 2px #0f172a0a;transition:background .12s,border-color .12s,color .12s,box-shadow .12s,transform .12s}.pe-toolbar-btn:hover:not(:disabled){background:var(--color-accent, #f1f5f9);border-color:#0f172a2e;box-shadow:0 2px 6px #0f172a12}.pe-toolbar-btn:active:not(:disabled){transform:scale(.97)}.pe-toolbar-btn:disabled{opacity:.45;cursor:not-allowed}.pe-toolbar-btn--primary{background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff);border-color:var(--color-primary, #15665e);box-shadow:0 2px 8px #15665e38}.pe-toolbar-btn--primary:hover:not(:disabled){background:var(--color-primary-shade, #125a53);border-color:var(--color-primary-shade, #125a53);color:var(--color-primary-foreground, #fff);box-shadow:0 4px 12px #15665e4d}.pe-toolbar-btn--primary.pe-toolbar-btn--quiet{background:var(--color-card, #ffffff);color:var(--color-primary, #15665e);border-color:#15665e59;box-shadow:0 1px 2px #0f172a0a}.pe-toolbar-btn--primary.pe-toolbar-btn--quiet:hover:not(:disabled){background:#15665e0f;border-color:#15665e8c;box-shadow:0 2px 6px #15665e1f}.pe-toolbar-btn--active{background:#15665e1a;border-color:#15665e73;color:var(--color-primary, #15665e)}.pe-toolbar-label{display:inline}@media (max-width: 760px){.pe-toolbar-label{display:none}.pe-toolbar-btn{padding:0}}.pe-theme-picker{position:relative}.pe-theme-menu{position:absolute;top:calc(100% + 8px);right:0;width:300px;max-width:calc(100vw - 1.5rem);background:var(--color-card, #ffffff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));border-radius:14px;box-shadow:0 12px 32px #0f172a2e,0 4px 10px #0f172a14;padding:.4rem;display:flex;flex-direction:column;gap:2px;z-index:40;max-height:70vh;overflow-y:auto;animation:pe-menu-in .16s cubic-bezier(.2,.7,.2,1);transform-origin:top right}@keyframes pe-menu-in{0%{opacity:0;transform:scale(.96) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.pe-theme-option{display:flex;align-items:center;gap:.65rem;padding:.55rem;border-radius:9px;border:1px solid transparent;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:var(--color-foreground, #0f172a);transition:background .12s,border-color .12s}.pe-theme-option:hover{background:var(--color-accent, #f1f5f9)}.pe-theme-option--active{border-color:#15665e80;background:#15665e14}.pe-theme-swatch{width:52px;height:34px;border-radius:6px;position:relative;flex-shrink:0;box-shadow:inset 0 0 0 1px #0f172a14}.pe-theme-swatch-dot{position:absolute;bottom:4px;right:4px;width:9px;height:9px;border-radius:50%;border:2px solid rgba(255,255,255,.92);box-shadow:0 1px 2px #00000026}.pe-theme-meta{display:flex;flex-direction:column;min-width:0;gap:1px;flex:1}.pe-theme-meta-name{font-size:.85rem;font-weight:600;color:var(--color-foreground, #0f172a);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-theme-meta-desc{font-size:11px;color:var(--color-muted-foreground, #64748b);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pe-header-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;min-width:0}.pe-header-left{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1}.pe-header-center{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.pe-header-right{display:flex;align-items:center;gap:.4rem;flex-shrink:0;position:relative}.pe-identity{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.pe-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;white-space:nowrap;padding:2px 6px;border-radius:6px}.pe-status--working{color:var(--color-muted-foreground, #64748b)}.pe-status--dirty{color:#b45309;background:#f59e0b1a}.pe-status--saved{color:#047857}@media (max-width: 760px){.pe-status__label{display:none}}.pe-mode-btn{background:#15665e0f;border-color:#15665e40;color:var(--color-primary, #15665e);font-weight:600}.pe-mode-btn:hover:not(:disabled){background:#15665e1f;border-color:#15665e66}.pe-toolbar-btn--icon{padding:0;width:36px;min-width:36px}.pe-overflow{position:relative}.pe-overflow-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;max-width:calc(100vw - 1.5rem);background:var(--color-card, #ffffff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));border-radius:12px;box-shadow:0 12px 32px #0f172a2e,0 4px 10px #0f172a14;padding:.35rem;display:flex;flex-direction:column;gap:2px;z-index:40;animation:pe-menu-in .16s cubic-bezier(.2,.7,.2,1);transform-origin:top right}.pe-overflow-item{display:flex;align-items:center;gap:.65rem;padding:.5rem .55rem;border-radius:8px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:var(--color-foreground, #0f172a);transition:background .12s}.pe-overflow-item:hover:not(:disabled){background:var(--color-accent, #f1f5f9)}.pe-overflow-item:disabled{opacity:.45;cursor:not-allowed}.pe-overflow-item__text{display:flex;flex-direction:column;gap:1px;min-width:0}.pe-overflow-item__title{font-size:.8125rem;font-weight:600;letter-spacing:-.005em}.pe-overflow-item__desc{font-size:11px;color:var(--color-muted-foreground, #64748b);line-height:1.3}.pe-theme-picker--anchored{position:absolute;top:100%;right:0;pointer-events:none}.pe-theme-picker--anchored .pe-theme-menu{pointer-events:auto}.pe-dest{position:relative;display:inline-flex;min-width:0}.pe-dest-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border-radius:999px;font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;max-width:320px;min-width:0;transition:background .12s,border-color .12s,color .12s}.pe-dest-chip__icon{flex-shrink:0;opacity:.8}.pe-dest-chip__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pe-dest-chip__caret{flex-shrink:0;opacity:.6}.pe-dest-chip--empty{border:1px dashed var(--color-border-strong, rgba(15, 23, 42, .18));background:transparent;color:var(--color-muted-foreground, #64748b)}.pe-dest-chip--empty:hover{color:var(--color-foreground, #0f172a);background:var(--color-accent, #f1f5f9)}.pe-dest-chip--active{border:1px solid rgba(21,102,94,.35);background:#15665e14;color:var(--color-primary, #15665e)}.pe-dest-chip--active:hover{background:#15665e24;border-color:#15665e8c}.pe-dest-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;background:transparent}.pe-dest-popover{position:absolute;top:calc(100% + 6px);left:0;width:320px;max-width:calc(100vw - 1.5rem);background:var(--color-card, #ffffff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));border-radius:12px;box-shadow:0 12px 32px #0f172a2e,0 4px 10px #0f172a14;padding:.6rem;z-index:50;animation:pe-menu-in .16s cubic-bezier(.2,.7,.2,1);transform-origin:top left;display:flex;flex-direction:column;gap:.55rem;max-height:78vh;overflow-y:auto}.pe-dest-popover-header{display:none;align-items:center;justify-content:space-between;padding:4px 4px 8px;border-bottom:1px solid var(--color-border, rgba(15, 23, 42, .08));margin-bottom:4px}.pe-dest-popover-header__title{font-size:.95rem;font-weight:600;color:var(--color-foreground, #0f172a);letter-spacing:-.005em}.pe-dest-popover-header__close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--color-muted-foreground, #64748b);transition:background .1s}.pe-dest-popover-header__close:hover{background:var(--color-accent, #f1f5f9);color:var(--color-foreground, #0f172a)}.pe-dest-section{display:flex;flex-direction:column;gap:.3rem}.pe-dest-section__header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 4px;min-width:0}.pe-dest-section__title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted-foreground, #64748b);flex-shrink:0}.pe-dest-section__hint{font-size:11px;color:var(--color-muted-foreground, #94a3b8);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pe-dest-section__link{background:none;border:none;cursor:pointer;font-size:11px;color:var(--color-muted-foreground, #64748b);display:inline-flex;align-items:center;gap:3px;padding:0;font-family:inherit}.pe-dest-section__link:hover{color:var(--color-foreground, #0f172a)}.pe-dest-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.pe-dest-list--scroll{max-height:180px;overflow-y:auto}.pe-dest-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border-radius:7px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;font-size:.8125rem;color:var(--color-foreground, #0f172a);transition:background .1s}.pe-dest-row:hover{background:var(--color-accent, #f1f5f9)}.pe-dest-row--active{background:#15665e14;color:var(--color-primary, #15665e);font-weight:500}.pe-dest-row__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pe-dest-check{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--color-border-strong, rgba(15, 23, 42, .25));display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-card, #ffffff)}.pe-dest-check--on{background:var(--color-primary, #15665e);border-color:var(--color-primary, #15665e);color:#fff}.pe-dest-radio{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--color-border-strong, rgba(15, 23, 42, .25));flex-shrink:0;background:var(--color-card, #ffffff);position:relative}.pe-dest-radio--on{border-color:var(--color-primary, #15665e)}.pe-dest-radio--on:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:50%;background:var(--color-primary, #15665e)}.pe-dest-loading{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-muted-foreground, #64748b);padding:8px}.pe-dest-empty{font-size:12px;color:var(--color-muted-foreground, #64748b);padding:6px 8px;text-align:center}.pe-dest-empty--muted{opacity:.6}.pe-dest-search{position:relative;display:flex;align-items:center}.pe-dest-search__icon{position:absolute;left:8px;color:var(--color-muted-foreground, #94a3b8);pointer-events:none}.pe-dest-search__input{width:100%;padding:6px 8px 6px 26px;border-radius:7px;border:1px solid var(--color-border, rgba(15, 23, 42, .1));background:var(--color-background, #f8fafc);font-size:.8125rem;font-family:inherit;color:var(--color-foreground, #0f172a);outline:none}.pe-dest-search__input:focus{border-color:#15665e66;background:var(--color-card, #ffffff)}.pe-dest-create{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:7px;border:1px dashed var(--color-border-strong, rgba(15, 23, 42, .2));background:transparent;cursor:pointer;font-family:inherit;font-size:12px;color:var(--color-primary, #15665e);font-weight:500;transition:background .1s,border-color .1s}.pe-dest-create:hover{background:#15665e0f;border-color:#15665e73}.pe-dest-newtopic{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:8px;background:#15665e0a;border:1px solid rgba(21,102,94,.18)}.pe-dest-input,.pe-dest-textarea{width:100%;padding:6px 8px;border-radius:6px;border:1px solid var(--color-border, rgba(15, 23, 42, .12));background:var(--color-card, #ffffff);font-family:inherit;font-size:.8125rem;color:var(--color-foreground, #0f172a);outline:none;resize:none}.pe-dest-input:focus,.pe-dest-textarea:focus{border-color:#15665e66}.pe-dest-newtopic__actions{display:flex;gap:6px;justify-content:flex-end}.pe-dest-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:7px;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .15));background:var(--color-card, #ffffff);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;color:var(--color-foreground, #0f172a);transition:background .1s,border-color .1s}.pe-dest-btn:hover:not(:disabled){background:var(--color-accent, #f1f5f9)}.pe-dest-btn:disabled{opacity:.45;cursor:not-allowed}.pe-dest-btn--primary{background:var(--color-primary, #15665e);color:#fff;border-color:var(--color-primary, #15665e)}.pe-dest-btn--primary:hover:not(:disabled){background:var(--color-primary-shade, #125a53);border-color:var(--color-primary-shade, #125a53)}@media (max-width: 760px){.pe-header-main{grid-template-columns:minmax(0,1fr) auto auto;gap:.4rem}.pe-mode-btn{padding:0;min-width:36px}.pe-dest-backdrop{background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:pe-fade-in .16s ease-out}.pe-dest-popover{position:fixed;top:auto;left:0;right:0;bottom:0;width:100%;max-width:100%;max-height:80vh;border-radius:16px 16px 0 0;padding:.75rem .85rem 1.25rem;gap:.85rem;transform-origin:bottom center;animation:pe-sheet-up .22s cubic-bezier(.2,.7,.2,1);box-shadow:0 -8px 32px #0f172a40}.pe-dest-popover:before{content:"";display:block;width:36px;height:4px;margin:0 auto 4px;background:var(--color-border-strong, rgba(15, 23, 42, .18));border-radius:999px}.pe-dest-popover-header{display:flex}.pe-dest-section__title{font-size:.75rem}.pe-dest-row{padding:10px;font-size:.875rem;min-height:40px}.pe-dest-list--scroll{max-height:220px}.pe-dest-create{padding:10px;font-size:.8125rem}.pe-dest-search__input{padding:9px 10px 9px 30px;font-size:.875rem}}@keyframes pe-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pe-fade-in{0%{opacity:0}to{opacity:1}}.pe-body-wrap{flex:1;min-height:0;display:grid;grid-template-columns:1fr auto;overflow:hidden}.pe-stack{overflow-y:auto;padding:1.5rem 1.5rem 4rem;display:flex;flex-direction:column;gap:1.25rem;align-items:center}.pe-stack--with-chat{padding-right:1rem}.pe-slide-row{position:relative;width:100%;max-width:960px}.editable-slide-wrap{position:relative;width:100%}.editable-slide-card-meta{position:absolute;top:-22px;left:0;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--color-muted-foreground, #64748b);text-transform:uppercase;letter-spacing:.06em;opacity:0;transition:opacity .16s;pointer-events:none}.editable-slide-wrap:hover .editable-slide-card-meta{opacity:1}.editable-slide-frame{box-shadow:0 8px 24px #00000014,0 2px 6px #0000000a;border-radius:14px;overflow:hidden;aspect-ratio:16 / 9;width:100%;position:relative}.editable-slide-actions{position:absolute;top:50%;right:-44px;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;background:var(--color-card, #ffffff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));border-radius:10px;padding:3px;box-shadow:0 4px 12px #0f172a1a;opacity:0;transition:opacity .16s;z-index:2}.editable-slide-wrap:hover .editable-slide-actions,.editable-slide-actions:hover{opacity:1}.editable-slide-actions button{width:28px;height:28px;border-radius:6px;border:none;background:transparent;cursor:pointer;color:var(--color-muted-foreground, #64748b);display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.editable-slide-actions button:hover:not(:disabled){background:var(--color-accent, #f1f5f9);color:var(--color-foreground, #0f172a)}.editable-slide-actions button:disabled{opacity:.35;cursor:not-allowed}.editable-slide-actions button.danger:hover{background:#dc262626;color:var(--color-destructive, #dc2626)}.editable-slide-add{position:relative}.editable-slide-add-menu{position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);background:var(--color-card, #ffffff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));border-radius:8px;padding:3px;box-shadow:0 4px 12px #0f172a1f;display:flex;flex-direction:column;gap:1px;z-index:5;color:var(--color-foreground, #0f172a)}.editable-slide-add-menu button{width:auto!important;height:auto!important;padding:5px 10px!important;font-size:12px;display:flex;align-items:center;gap:6px;white-space:nowrap;justify-content:flex-start!important;color:var(--color-foreground, #0f172a)}.editable-slide-ai-menu{min-width:180px;padding:6px 4px;gap:2px}.editable-slide-ai-menu__title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted-foreground, #64748b);padding:4px 10px 6px;border-bottom:1px solid var(--color-border, rgba(15, 23, 42, .06));margin-bottom:3px}.editable-slide-ai-menu button{border-radius:6px;transition:background .12s ease}.editable-slide-ai-menu button:hover{background:#15665e14;color:var(--color-primary, #15665e)!important}.editable-slide-ai-menu button svg{color:var(--color-primary, #15665e);opacity:.85}.editable-slide-actions button.is-loading{background:#15665e14;color:var(--color-primary, #15665e);border-color:var(--color-primary, #15665e)}.es-spin{animation:editable-slide-spin 1.1s linear infinite}@keyframes editable-slide-spin{to{transform:rotate(360deg)}}.editable-slide-insert{display:flex;align-items:center;justify-content:center;gap:.35rem;width:100%;padding:.4rem 0;margin-top:.4rem;border:none;border-top:2px dashed transparent;background:transparent;font-size:11px;font-weight:600;color:var(--color-muted-foreground, #64748b);cursor:pointer;opacity:0;transition:opacity .16s,border-color .16s}.editable-slide-wrap:hover .editable-slide-insert{opacity:1;border-top-color:var(--color-border-strong, rgba(15, 23, 42, .12))}.editable-slide-insert:hover{color:var(--color-primary, #15665e);border-top-color:var(--color-primary, #15665e)}.pe-slide-present-here{position:absolute;bottom:6px;right:-44px;display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;background:var(--color-card, #ffffff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));border-radius:999px;padding:4px 8px;color:var(--color-muted-foreground, #64748b);cursor:pointer;opacity:0;transition:opacity .16s;white-space:nowrap}.pe-slide-row:hover .pe-slide-present-here{opacity:1}.pe-slide-present-here:hover{color:var(--color-primary, #15665e)}.pe-insert-top{display:flex;align-items:center;justify-content:center;gap:.35rem;border:2px dashed var(--color-border-strong, rgba(15, 23, 42, .18));border-radius:10px;background:transparent;padding:.6rem 0;width:100%;max-width:960px;font-size:12px;font-weight:600;color:var(--color-muted-foreground, #64748b);cursor:pointer}.pe-insert-top:hover{border-color:var(--color-primary, #15665e);color:var(--color-primary, #15665e)}.pe-slide-pending{width:100%;max-width:960px;aspect-ratio:16/9;border:2px dashed var(--color-border-strong, rgba(15, 23, 42, .12));border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--color-card, #ffffff)}.pe-end-actions{display:flex;justify-content:center;margin-top:.5rem}.inline-editable{border-radius:4px;transition:background-color .12s,box-shadow .12s}.inline-editable:hover{background-color:color-mix(in srgb,currentColor 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 20%,transparent)}.editable-block{position:relative;border-radius:6px;padding:4px;margin:-4px;transition:background-color .16s}.editable-block:hover{background:color-mix(in srgb,currentColor 4%,transparent)}.editable-block-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:4px;border:none;background:transparent;color:currentColor;opacity:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .12s,background-color .12s}.editable-block:hover .editable-block-remove{opacity:.6}.editable-block-remove:hover{opacity:1;background:#ef444426;color:#ef4444}.presentation-chat{width:360px;display:flex;flex-direction:column;border-left:1px solid var(--color-border-strong, rgba(15, 23, 42, .1));background:radial-gradient(120% 60% at 100% 0%,rgba(21,102,94,.04),transparent 60%),var(--color-card, #ffffff);color:var(--color-foreground, #0f172a)}.presentation-chat__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:.85rem 1rem;border-bottom:1px solid var(--color-border, rgba(15, 23, 42, .06))}.presentation-chat__header-meta{display:flex;align-items:center;gap:10px;min-width:0}.presentation-chat__header-icon{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#15665e2e,#15665e0f);color:var(--color-primary, #15665e);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.presentation-chat__header-title{font-size:14px;font-weight:700;margin:0;letter-spacing:-.005em;color:var(--color-foreground, #0f172a)}.presentation-chat__header-sub{font-size:11.5px;color:var(--color-muted-foreground, #64748b);margin:0;line-height:1.3}.presentation-chat__close{width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--color-muted-foreground, #64748b);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s}.presentation-chat__close:hover{background:#0f172a0d;color:var(--color-foreground, #0f172a)}.presentation-chat__list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:8px}.presentation-chat__empty{display:flex;flex-direction:column;gap:16px}.presentation-chat__empty-lead{font-size:13px;line-height:1.5;color:var(--color-foreground, #0f172a);margin:0}.presentation-chat__quick-group{display:flex;flex-direction:column;gap:6px}.presentation-chat__quick-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted-foreground, #94a3b8)}.presentation-chat__quick-row{display:flex;flex-wrap:wrap;gap:6px}.presentation-chat__quick{display:inline-flex;align-items:center;gap:6px;padding:6px 11px 6px 9px;border-radius:999px;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));background:var(--color-card, #ffffff);color:var(--color-foreground, #0f172a);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:border-color .12s,background-color .12s,color .12s,transform .12s}.presentation-chat__quick:hover{border-color:var(--color-primary, #15665e);color:var(--color-primary, #15665e);background:#15665e0f;transform:translateY(-1px)}.presentation-chat__quick svg{color:var(--color-primary, #15665e);flex-shrink:0}.presentation-chat__hint{margin-top:4px;padding:10px 12px;border-radius:10px;background:#15665e0d;border:1px solid rgba(21,102,94,.1);font-size:11.5px;line-height:1.45;color:var(--color-muted-foreground, #64748b)}.presentation-chat__hint em{font-style:normal;color:var(--color-foreground, #0f172a);font-weight:500}.presentation-chat__msg{padding:9px 13px;border-radius:14px;font-size:13px;line-height:1.5;max-width:90%;white-space:pre-wrap;word-wrap:break-word}.presentation-chat__msg--user{background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff);align-self:flex-end;border-bottom-right-radius:4px;box-shadow:0 1px 3px #15665e33}.presentation-chat__msg--assistant{background:#0f172a0a;color:var(--color-foreground, #0f172a);align-self:flex-start;border-bottom-left-radius:4px;border:1px solid rgba(15,23,42,.04)}.presentation-chat__msg--loading{display:inline-flex;align-items:center;gap:8px;color:var(--color-muted-foreground, #64748b);background:#15665e0d;border-color:#15665e1f}.presentation-chat__input{padding:10px;border-top:1px solid var(--color-border, rgba(15, 23, 42, .06));display:flex;gap:8px;align-items:flex-end;background:var(--color-card, #ffffff)}.presentation-chat__input textarea{flex:1;resize:none;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5;font-family:inherit;outline:none;background:#fff;color:var(--color-foreground, #0f172a);transition:border-color .12s,box-shadow .12s;min-height:44px;max-height:160px}.presentation-chat__input textarea:focus{border-color:var(--color-primary, #15665e);box-shadow:0 0 0 3px #15665e1f}.presentation-chat__input textarea::placeholder{color:var(--color-muted-foreground, #94a3b8);font-style:italic}.presentation-chat__send{width:40px;height:40px;border-radius:12px;border:none;background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px #15665e40;transition:background .12s,box-shadow .12s,transform .12s}.presentation-chat__send:hover:not(:disabled){background:var(--color-primary-shade, #125a53);box-shadow:0 4px 10px #15665e52;transform:translateY(-1px)}.presentation-chat__send:disabled{opacity:.3;cursor:not-allowed;box-shadow:none}.presentation-mode-frame{width:min(92vw,calc(92vh * 16 / 9));aspect-ratio:16 / 9;box-shadow:0 10px 40px #00000080;border-radius:12px;overflow:hidden}@media (max-width: 900px){.pe-body-wrap{grid-template-columns:1fr}.presentation-chat{position:fixed;bottom:0;left:0;right:0;width:100%;max-height:65vh;min-height:320px;border-left:none;border-top:1px solid var(--color-border-strong, rgba(15, 23, 42, .14));border-top-left-radius:16px;border-top-right-radius:16px;z-index:50;box-shadow:0 -12px 32px #0f172a2e;background:var(--color-card, #ffffff)}.pe-slide-row{padding-right:40px}.editable-slide-actions{right:0;opacity:1;background:var(--color-card, #ffffff);border-color:var(--color-border-strong, rgba(15, 23, 42, .14));box-shadow:0 2px 10px #0f172a1f}.pe-slide-present-here{display:none}.editable-slide-insert{opacity:1;border-top-color:var(--color-border-strong, rgba(15, 23, 42, .1));color:var(--color-muted-foreground, #64748b)}.editable-slide-add-menu{left:auto;right:calc(100% + 6px)}.pe-stack{padding:1rem 1rem 5rem}}@media (prefers-color-scheme: dark){.pe-toolbar-btn{background:var(--color-card, #1e293b);border-color:#ffffff1f;color:var(--color-foreground, #f8fafc);box-shadow:0 1px 2px #0000004d}.pe-toolbar-btn:hover:not(:disabled){background:#ffffff0a;border-color:#fff3}.pe-toolbar-btn--primary{background:var(--color-primary, #2c9e92);border-color:var(--color-primary, #2c9e92);color:var(--color-primary-foreground, #fff)}.pe-toolbar-btn--active{background:#2c9e922e;border-color:#2c9e9280;color:var(--color-primary, #2c9e92)}.pe-theme-menu{box-shadow:0 12px 32px #0000008c,0 4px 10px #00000059;border-color:#ffffff1a}.pe-theme-swatch{box-shadow:inset 0 0 0 1px #ffffff1a}.editable-slide-actions,.editable-slide-add-menu{background:var(--color-card, #1e293b);border-color:#ffffff1a;box-shadow:0 4px 16px #00000080}.pe-slide-pending{border-color:#ffffff1f;background:var(--color-card, #1e293b)}.presentation-chat{background:var(--color-card, #1e293b);border-color:#ffffff1a}}.pl-shell{height:100%;overflow-y:auto;background:radial-gradient(ellipse at 20% -10%,rgba(21,102,94,.08),transparent 55%),radial-gradient(ellipse at 100% 110%,rgba(229,85,59,.05),transparent 50%),var(--color-background, #fbfaf6);padding:clamp(1.5rem,4vw,3rem) clamp(1rem,3vw,2rem);font-family:inherit}.pl-stage{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.5rem)}.pl-hero{display:flex;flex-direction:column;gap:.7rem;animation:pl-fade-in .6s ease-out}.pl-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 11px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#15665e2e,#15665e14);color:var(--color-primary, #15665e);border:1px solid rgba(21,102,94,.2);font-family:inherit}.pl-title{font-family:inherit;font-size:clamp(1.55rem,3.2vw,2.2rem);line-height:1.15;letter-spacing:-.02em;font-weight:700;color:var(--color-foreground, #0f172a);margin:0;text-wrap:balance}.pl-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}.pl-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11.5px;font-weight:600;border-radius:999px;background:#0f172a0d;color:var(--color-foreground, #0f172a);letter-spacing:-.005em;text-transform:lowercase;font-variant-numeric:tabular-nums}.pl-pill--strong{background:#15665e1a;color:var(--color-primary, #15665e);text-transform:none}.pl-pill--soft{background:transparent;border:1px solid var(--color-border, rgba(15, 23, 42, .08));color:var(--color-muted-foreground, #64748b);font-weight:500}.pl-overlay-frame{background:var(--color-card, #ffffff);border:1px solid var(--color-border, rgba(15, 23, 42, .06));border-radius:18px;box-shadow:0 4px 20px #0f172a0d;padding:clamp(1rem,2vw,1.5rem) clamp(.5rem,1vw,1rem);display:flex;flex-direction:column;gap:12px;animation:pl-rise .54s cubic-bezier(.2,.7,.2,1)}.pl-progress-row{display:flex;justify-content:space-between;align-items:baseline;padding:0 clamp(.5rem,1vw,1rem);font-size:12px;font-weight:600;color:var(--color-muted-foreground, #64748b);font-variant-numeric:tabular-nums}.pl-progress-pct{color:var(--color-primary, #15665e);font-size:14px;letter-spacing:-.01em}.pl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:clamp(.75rem,1.5vw,1.1rem)}.pl-card{position:relative;aspect-ratio:16 / 9;border-radius:14px;padding:clamp(.85rem,2cqi,1.3rem);overflow:hidden;display:flex;flex-direction:column;gap:clamp(6px,1.5cqi,11px);justify-content:center;container-type:inline-size;box-shadow:0 4px 14px #0f172a0f;opacity:0;transform:translateY(8px);animation:pl-rise .54s cubic-bezier(.2,.7,.2,1) forwards;transition:box-shadow .3s;background:#fff;border:1px solid var(--color-border, rgba(15, 23, 42, .05))}.pl-card:nth-child(4n+1){background:linear-gradient(135deg,#fff,#fff7eb 110%);border-color:#f59e0b1f;color:#92400e}.pl-card:nth-child(4n+2){background:linear-gradient(135deg,#fff,#eef4f8 110%);border-color:#0ea5e91f;color:#0c4a6e}.pl-card:nth-child(4n+3){background:linear-gradient(135deg,#fff,#f3edf9 110%);border-color:#7c3aed1f;color:#4c1d95}.pl-card:nth-child(4n+4){background:linear-gradient(135deg,#fff,#ecf5ee 110%);border-color:#10b9811f;color:#065f46}.pl-card--filled{box-shadow:0 6px 24px #0f172a1a}.pl-card--live{background:#fff!important;color:inherit!important;padding:0;display:block}.pl-card--live .pl-card-bar,.pl-card--live .pl-card-shimmer{display:none}.pl-card-mini{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden}.pl-card-mini>.slide-frame{width:100%;height:100%;border-radius:inherit}.pl-card--refined{animation:pl-rise .54s cubic-bezier(.2,.7,.2,1) forwards,pl-refined-flash 1.4s ease-out .22s both;box-shadow:0 6px 22px #d977062e}@keyframes pl-refined-flash{0%{box-shadow:0 6px 22px #d9770666,0 0 #d9770673}to{box-shadow:0 6px 22px #0f172a1a,0 0 0 16px #d9770600}}.pl-card-bar{height:9px;width:100%;border-radius:4px;background:currentColor;opacity:.18;transition:opacity .6s}.pl-card-bar--title{height:14px;width:65%;opacity:.4}.pl-card-bar--short{width:44%}.pl-card--filled .pl-card-bar{opacity:.32}.pl-card--filled .pl-card-bar--title{opacity:.6}.pl-card-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,color-mix(in srgb,currentColor 18%,transparent) 50%,transparent 70%);transform:translate(-100%);animation:pl-shimmer 2.1s ease-in-out infinite;pointer-events:none}.pl-card--filled .pl-card-shimmer{display:none}@keyframes pl-rise{to{opacity:1;transform:translateY(0)}}@keyframes pl-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pl-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pl-foot{text-align:center;font-size:.85rem;color:var(--color-muted-foreground, #64748b);margin:0;line-height:1.45}.pl-error{max-width:480px;margin:4rem auto 0;padding:1.75rem;background:var(--color-card, #ffffff);border:1px solid var(--color-border-strong, rgba(15,23,42,.12));border-radius:16px;text-align:center;box-shadow:0 8px 24px #0f172a14;display:flex;flex-direction:column;gap:.75rem;align-items:center}.pl-error h2{font-size:1.1rem;font-weight:700;margin:0;color:var(--color-foreground, #0f172a)}.pl-error p{font-size:.9rem;color:var(--color-muted-foreground, #64748b);margin:0}.pl-error button{margin-top:.5rem;padding:.55rem 1rem;border-radius:10px;border:1px solid var(--color-border-strong, rgba(15,23,42,.12));background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff);font-weight:600;cursor:pointer;transition:filter .15s ease;font-family:inherit}.pl-error button:hover{filter:brightness(1.05)}@media (prefers-color-scheme: dark){.pl-shell{background:radial-gradient(ellipse at top right,rgba(21,102,94,.1),transparent 60%),radial-gradient(ellipse at bottom left,rgba(229,85,59,.06),transparent 50%),#0a0d12}.pl-overlay-frame{background:#ffffff08;border-color:#ffffff14}.pl-card{background:#181d24;border-color:#ffffff0d}.pl-card:nth-child(4n+1){background:linear-gradient(135deg,#181d24,#3b2910 110%);color:#f59e0b}.pl-card:nth-child(4n+2){background:linear-gradient(135deg,#181d24,#0b2b40 110%);color:#7dd3fc}.pl-card:nth-child(4n+3){background:linear-gradient(135deg,#181d24,#2a1b4d 110%);color:#c4b5fd}.pl-card:nth-child(4n+4){background:linear-gradient(135deg,#181d24,#0d2f24 110%);color:#6ee7b7}.pl-pill{background:#ffffff0f}.pl-pill--strong{background:#2c9e9229;color:#5eead4}}.pl-leave{position:absolute;top:18px;left:18px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-card);color:var(--color-muted-foreground);font-size:12px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s;z-index:10}.pl-leave:hover{color:var(--color-foreground);border-color:var(--color-primary);background:var(--color-background)}.pl-leave-hint{margin:14px 0 0;font-size:12px;color:var(--color-muted-foreground);font-weight:500}.sv-page{display:flex;flex-direction:column;height:100%;min-height:0}@media (min-width: 1280px){.sv-page--split{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:0}.sv-page--split .sv-shell{border-right:1px solid var(--color-border, rgba(15, 23, 42, .08))}}@media (min-width: 1440px){.sv-page--split{grid-template-columns:minmax(0,1fr) 480px}}.sv-rail{display:none}@media (min-width: 1280px){.sv-page--split .sv-rail{display:block;height:100%;min-height:0;overflow:hidden;background:var(--color-background, #f8fafc);padding:16px}.sv-page--split .sv-rail .sd-shell--inline{height:100%;max-height:none}}.sv-shell{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-background, #f8fafc)}.sv-header{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"back meta search";align-items:center;gap:.75rem 1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));background:var(--color-card, #ffffff);position:sticky;top:0;z-index:10}@media (max-width: 640px){.sv-header{grid-template-columns:auto 1fr;grid-template-areas:"back meta" "search search";padding:.85rem 1rem}}.sv-back{grid-area:back;width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:var(--color-foreground, #0f172a);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s}.sv-back:hover{background:var(--color-accent, #f1f5f9)}.sv-header-meta{grid-area:meta;display:flex;flex-direction:column;min-width:0;gap:2px}.sv-header-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-foreground, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-header-title{font-size:1.35rem;font-weight:700;letter-spacing:-.015em;line-height:1.15;margin:0;color:var(--color-foreground, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sv-header-sub{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-muted-foreground, #64748b);margin-top:2px}.sv-search{display:flex;align-items:center;gap:.55rem;padding:.5rem .75rem;background:var(--color-muted, #f1f5f9);border-radius:10px;min-width:0;width:100%;max-width:320px;color:var(--color-muted-foreground, #64748b);border:1px solid transparent;transition:border-color .12s,background .12s}@media (max-width: 640px){.sv-search{max-width:none}}.sv-search:focus-within{border-color:color-mix(in srgb,var(--color-primary, #15665e) 45%,transparent);background:var(--color-card, #ffffff)}.sv-search input{border:none;background:transparent;outline:none;flex:1;font-size:.88rem;color:var(--color-foreground, #0f172a);font-family:inherit;min-width:0}.sv-timeline{flex:1;overflow-y:auto;padding:1.25rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.75rem;max-width:920px;width:100%;margin:0 auto}.sv-page--split .sv-timeline{max-width:none;margin:0;padding-left:1.5rem;padding-right:1.5rem}@media (max-width: 640px){.sv-timeline{padding:1rem .85rem 5rem;gap:1.25rem}}.sv-group{display:flex;flex-direction:column;gap:.5rem}.sv-group-header{display:flex;align-items:baseline;gap:.65rem;padding:0 .25rem .4rem;border-bottom:1px solid var(--color-border-strong, rgba(15, 23, 42, .08))}.sv-group-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary, #15665e);text-transform:capitalize;letter-spacing:0;font-size:.95rem;font-weight:600;color:var(--color-foreground, #0f172a)}.sv-group-count{font-size:.7rem;font-weight:600;color:var(--color-muted-foreground, #64748b);padding:1px 8px;border-radius:999px;background:var(--color-muted, #f1f5f9);font-variant-numeric:tabular-nums}.sv-group-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.sv-empty{flex:1;display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--color-muted-foreground, #64748b);font-size:.9rem}.sv-empty-hero{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.sv-empty-hero-inner{max-width:440px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.65rem}.sv-empty-mark{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--color-primary, #15665e) 10%,transparent);color:var(--color-primary, #15665e);display:inline-flex;align-items:center;justify-content:center;margin-bottom:.25rem}.sv-empty-hero-inner h2{font-size:1.2rem;font-weight:700;color:var(--color-foreground, #0f172a);margin:0}.sv-empty-hero-inner p{font-size:.88rem;color:var(--color-muted-foreground, #64748b);line-height:1.5;margin:0}.sv-empty-actions{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap;justify-content:center}.sv-empty-primary,.sv-empty-secondary{padding:.55rem 1rem;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s,color .12s}.sv-empty-primary{border:1px solid var(--color-primary, #15665e);background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff)}.sv-empty-primary:hover{background:var(--color-primary-shade, #125a53);border-color:var(--color-primary-shade, #125a53)}.sv-empty-secondary{border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));background:transparent;color:var(--color-foreground, #0f172a)}.sv-empty-secondary:hover{background:var(--color-accent, #f1f5f9)}.sc{list-style:none;position:relative}.sc-button{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:.65rem;width:100%;padding:.8rem .9rem;border-radius:14px;background:var(--color-card, #ffffff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));transition:border-color .14s,box-shadow .14s,transform .14s;text-align:left;font-family:inherit;color:inherit;cursor:pointer}.sc-button:hover{border-color:color-mix(in srgb,var(--color-primary, #15665e) 35%,var(--color-border-strong, rgba(15, 23, 42, .1)))}.sc--today .sc-button{border-color:color-mix(in srgb,var(--color-primary, #15665e) 55%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary, #15665e) 8%,transparent)}.sc--cancelled .sc-button{opacity:.65}.sc-date{grid-column:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;background:color-mix(in srgb,var(--color-primary, #15665e) 6%,transparent);padding:6px 4px;min-width:52px}.sc--today .sc-date{background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff)}.sc-date-day{font-size:1.3rem;font-weight:700;line-height:1;color:var(--color-primary, #15665e);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.sc--today .sc-date-day{color:inherit}.sc-date-month{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary, #15665e);margin-top:1px}.sc--today .sc-date-month{color:inherit;opacity:.95}.sc-date-weekday{font-size:.6rem;font-weight:500;letter-spacing:.04em;color:var(--color-muted-foreground, #64748b);text-transform:lowercase;margin-top:2px}.sc--today .sc-date-weekday{color:inherit;opacity:.8}.sc-body{grid-column:2;display:flex;flex-direction:column;gap:3px;min-width:0}.sc-title-row{display:flex;align-items:center;gap:.5rem;min-width:0}.sc-title{font-size:.95rem;font-weight:600;letter-spacing:-.005em;color:var(--color-foreground, #0f172a);line-height:1.3;flex:1;min-width:0;padding:2px 4px;margin:-2px -4px;border-radius:6px;cursor:text;transition:background .12s}.sc-title:hover{background:var(--color-accent, #f1f5f9)}.sc-title-placeholder{font-weight:400;color:var(--color-muted-foreground, #64748b);font-style:italic}.sc-title-input{flex:1;min-width:0;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--color-foreground, #0f172a);background:var(--color-muted, #f1f5f9);border:1px solid color-mix(in srgb,var(--color-primary, #15665e) 40%,transparent);border-radius:6px;padding:3px 6px;outline:none}.sc-today-chip{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:999px;background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff);flex-shrink:0}.sc-meta-row{display:flex;align-items:center;gap:.6rem;font-size:.74rem;color:var(--color-muted-foreground, #64748b);flex-wrap:wrap}.sc-meta-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.sc-meta-dot{opacity:.5}.sc-meta-warn{color:#b45309;background:color-mix(in srgb,#b45309 10%,transparent);padding:1px 7px;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.02em}.sc-chevron{grid-column:3;align-self:center;color:var(--color-muted-foreground, #64748b);pointer-events:none}@media (prefers-color-scheme: dark){.sv-header{background:var(--color-card, #1e293b)}.sv-search{background:#ffffff0a}.sv-search:focus-within{background:#ffffff0f}.sc-button{background:var(--color-card, #1e293b);border-color:#ffffff14}.sc-button:hover{border-color:#2c9e9266}}.syl-shell{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--color-background, #f8fafc)}.syl-header{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"back meta search";align-items:center;gap:.75rem 1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));background:var(--color-card, #ffffff);position:sticky;top:0;z-index:10}@media (max-width: 640px){.syl-header{grid-template-columns:auto 1fr;grid-template-areas:"back meta" "search search";padding:.85rem 1rem}}.syl-back{grid-area:back;width:36px;height:36px;border-radius:10px;border:none;background:transparent;color:var(--color-foreground, #0f172a);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s}.syl-back:hover{background:var(--color-accent, #f1f5f9)}.syl-header-meta{grid-area:meta;display:flex;flex-direction:column;min-width:0;gap:2px}.syl-header-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted-foreground, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.syl-header-title{font-size:1.35rem;font-weight:700;letter-spacing:-.015em;line-height:1.15;margin:0;color:var(--color-foreground, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.syl-header-sub{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-muted-foreground, #64748b);margin-top:2px}.syl-search{display:flex;align-items:center;gap:.55rem;padding:.5rem .75rem;background:var(--color-muted, #f1f5f9);border-radius:10px;min-width:0;width:100%;max-width:320px;color:var(--color-muted-foreground, #64748b);border:1px solid transparent;transition:border-color .12s,background .12s}@media (max-width: 640px){.syl-search{max-width:none}}.syl-search:focus-within{border-color:color-mix(in srgb,var(--color-primary, #15665e) 45%,transparent);background:var(--color-card, #ffffff)}.syl-search input{border:none;background:transparent;outline:none;flex:1;font-size:.88rem;color:var(--color-foreground, #0f172a);font-family:inherit;min-width:0}.syl-body{flex:1;overflow-y:auto;padding:1.25rem 1.25rem 4rem;display:flex;flex-direction:column;gap:1.25rem;max-width:1100px;width:100%;margin:0 auto}@media (max-width: 640px){.syl-body{padding:1rem .85rem 5rem}}.syl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.syl-add-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:9px;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));background:var(--color-card, #ffffff);color:var(--color-foreground, #0f172a);font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s,color .12s}.syl-add-btn:hover{background:color-mix(in srgb,var(--color-primary, #15665e) 6%,transparent);border-color:color-mix(in srgb,var(--color-primary, #15665e) 40%,transparent);color:var(--color-primary, #15665e)}.syl-calendar-link{background:transparent;border:none;color:var(--color-muted-foreground, #64748b);font-size:.78rem;font-weight:500;cursor:pointer;font-family:inherit;padding:4px 6px;transition:color .12s}.syl-calendar-link:hover{color:var(--color-primary, #15665e)}.syl-groups{display:flex;flex-direction:column;gap:1.5rem}.syl-group{display:flex;flex-direction:column;gap:.5rem}.syl-group-header{display:flex;align-items:baseline;gap:.65rem;padding:0 .25rem .4rem;border-bottom:1px solid var(--color-border-strong, rgba(15, 23, 42, .08))}.syl-group-label{font-size:.95rem;font-weight:600;color:var(--color-foreground, #0f172a)}.syl-group-count{font-size:.7rem;font-weight:600;color:var(--color-muted-foreground, #64748b);padding:1px 8px;border-radius:999px;background:var(--color-muted, #f1f5f9);font-variant-numeric:tabular-nums}.syl-group-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.syl-group--orphan{opacity:.92}.syl-orphan-hint{margin:0 0 .5rem;font-size:.78rem;color:var(--color-muted-foreground, #64748b);font-style:italic}.syl-orphan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.syl-orphan-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:var(--color-card, #fff);border:1px dashed var(--color-border, #e2e8f0);border-radius:8px;font-family:inherit;font-size:13px;color:var(--color-foreground);text-align:left;cursor:pointer;transition:all .12s ease}.syl-orphan-item:hover{border-style:solid;border-color:var(--color-primary, #2563eb);background:var(--color-card, #fff)}.syl-orphan-item__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:#7c3aed1a;color:#6d28d9}.syl-orphan-item__title{flex:1;font-weight:500}.syl-orphan-item__kind{font-size:11px;color:var(--color-muted-foreground, #64748b);font-weight:500;text-transform:lowercase;letter-spacing:.01em}.syl-empty{flex:1;display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--color-muted-foreground, #64748b);font-size:.9rem;padding:2rem 1rem}.syl-empty-hero{display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem}.syl-empty-hero-inner{max-width:440px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.65rem}.syl-empty-mark{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--color-primary, #15665e) 10%,transparent);color:var(--color-primary, #15665e);display:inline-flex;align-items:center;justify-content:center;margin-bottom:.25rem}.syl-empty-hero-inner h2{font-size:1.2rem;font-weight:700;color:var(--color-foreground, #0f172a);margin:0}.syl-empty-hero-inner p{font-size:.88rem;color:var(--color-muted-foreground, #64748b);line-height:1.5;margin:0}.syl-empty-actions{margin-top:.5rem}.syl-empty-primary{padding:.55rem 1rem;border-radius:10px;border:1px solid var(--color-primary, #15665e);background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}.syl-empty-primary:hover{background:var(--color-primary-shade, #125a53)}.tr{list-style:none;border-radius:14px;background:var(--color-card, #ffffff);border:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));transition:border-color .14s,box-shadow .14s}.tr:hover{border-color:color-mix(in srgb,var(--color-primary, #15665e) 35%,var(--color-border-strong, rgba(15, 23, 42, .1)))}.tr--expanded{box-shadow:0 4px 14px #0f172a0f;border-color:color-mix(in srgb,var(--color-primary, #15665e) 35%,var(--color-border-strong, rgba(15, 23, 42, .1)))}.tr-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.85rem .95rem;width:100%;background:transparent;border:none;text-align:left;cursor:pointer;font-family:inherit;color:inherit}.tr-order{width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--color-primary, #15665e) 8%,transparent);color:var(--color-primary, #15665e);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tr-main{min-width:0}.tr-title-row{display:flex;align-items:center;gap:.5rem;min-width:0}.tr-title{font-size:.95rem;font-weight:600;color:var(--color-foreground, #0f172a);margin:0;line-height:1.3;letter-spacing:-.005em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-desc{font-size:.8rem;color:var(--color-muted-foreground, #64748b);margin:3px 0 0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.tr-meta{display:flex;gap:.7rem;margin-top:5px;font-size:.73rem;color:var(--color-muted-foreground, #64748b);flex-wrap:wrap}.tr-meta-item{display:inline-flex;align-items:center;gap:4px}.tr-meta-item--muted{opacity:.7;font-style:italic}.tr-chip{font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;flex-shrink:0}.tr-chip--draft{color:#78350f;background:#fef3c7}.tr-chip--ready{color:#065f46;background:#d1fae5}.tr-chip--taught{color:#1e40af;background:#dbeafe}.tr-chevron{color:var(--color-muted-foreground, #64748b);transition:transform .16s}.tr-chevron--open{transform:rotate(90deg);color:var(--color-primary, #15665e)}.tr-drawer{padding:0 .95rem .9rem;border-top:1px dashed var(--color-border-strong, rgba(15, 23, 42, .1));margin-top:-2px;animation:tr-drawer-in .18s cubic-bezier(.2,.7,.2,1)}@keyframes tr-drawer-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tr-drawer-loading{display:flex;align-items:center;gap:8px;padding:.85rem 0;color:var(--color-muted-foreground, #64748b);font-size:.82rem}.tr-materials{list-style:none;padding:.7rem 0 0;margin:0;display:flex;flex-direction:column;gap:4px}.tr-material{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:var(--color-muted, #f1f5f9);font-size:.82rem;color:var(--color-foreground, #0f172a)}.tr-material-icon{color:var(--color-muted-foreground, #64748b);flex-shrink:0}.tr-material-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tr-material-link{background:transparent;border:none;padding:0;font-family:inherit;font-size:inherit;text-align:left;color:var(--color-foreground, #0f172a);cursor:pointer;text-decoration:none}.tr-material-link:hover{color:var(--color-primary, #15665e);text-decoration:underline}.tr-preview{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.tr-preview-item{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--color-muted-foreground, #64748b);min-width:0}.tr-preview-item svg{color:var(--color-primary, #15665e);flex-shrink:0}.tr-preview-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.tr-preview-status{font-size:.66rem;font-weight:600;color:#b45309;background:#d977061a;padding:1px 6px;border-radius:999px}.tr-preview-item--more{color:var(--color-muted-foreground, #94a3b8);font-style:italic}.tr-material-tag{font-size:.64rem;font-weight:700;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--color-primary, #15665e) 12%,transparent);color:var(--color-primary, #15665e);flex-shrink:0}.tr-material-del{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--color-muted-foreground, #64748b);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.tr-material-del:hover{background:#dc26261f;color:var(--color-destructive, #dc2626)}.tr-no-materials{padding:.8rem 0 .3rem;font-size:.82rem;color:var(--color-muted-foreground, #64748b);margin:0;font-style:italic}.tr-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:.75rem}.tr-action{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));background:var(--color-card, #ffffff);color:var(--color-foreground, #0f172a);font-size:.76rem;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .12s,color .12s,background .12s}.tr-action:hover{border-color:color-mix(in srgb,var(--color-primary, #15665e) 40%,transparent);color:var(--color-primary, #15665e);background:color-mix(in srgb,var(--color-primary, #15665e) 6%,transparent)}.tr-action--ghost{color:var(--color-muted-foreground, #64748b)}.tr-action--danger{color:var(--color-muted-foreground, #64748b);padding:6px 8px;margin-left:auto}.tr-action--danger:hover{color:var(--color-destructive, #dc2626);border-color:color-mix(in srgb,var(--color-destructive, #dc2626) 40%,transparent);background:#dc26260f}.ati{background:var(--color-card, #ffffff);border:1px solid color-mix(in srgb,var(--color-primary, #15665e) 30%,var(--color-border-strong, rgba(15, 23, 42, .12)));border-radius:14px;padding:.85rem .95rem;display:flex;flex-direction:column;gap:8px;box-shadow:0 4px 14px #0f172a0f;animation:tr-drawer-in .16s cubic-bezier(.2,.7,.2,1)}.ati-name,.ati-desc{border:none;background:transparent;outline:none;padding:6px 4px;font-family:inherit;color:var(--color-foreground, #0f172a);width:100%;border-bottom:1px solid var(--color-border-strong, rgba(15, 23, 42, .08));transition:border-color .12s}.ati-name{font-size:.95rem;font-weight:600}.ati-desc{font-size:.82rem;color:var(--color-muted-foreground, #64748b)}.ati-name:focus,.ati-desc:focus{border-color:var(--color-primary, #15665e)}.ati-actions{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding-top:4px}.ati-trimesters{display:inline-flex;gap:4px}.ati-trim-btn{padding:4px 10px;border-radius:999px;border:1px solid var(--color-border-strong, rgba(15, 23, 42, .12));background:transparent;color:var(--color-muted-foreground, #64748b);font-size:.74rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .12s}.ati-trim-btn--active{background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff);border-color:var(--color-primary, #15665e)}.ati-buttons{display:inline-flex;gap:6px}.ati-cancel{padding:6px 12px;border-radius:8px;border:none;background:transparent;color:var(--color-muted-foreground, #64748b);font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit}.ati-cancel:hover{color:var(--color-foreground, #0f172a)}.ati-submit{padding:6px 14px;border-radius:8px;border:none;background:var(--color-primary, #15665e);color:var(--color-primary-foreground, #fff);font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .12s}.ati-submit:hover:not(:disabled){background:var(--color-primary-shade, #125a53)}.ati-submit:disabled{opacity:.4;cursor:not-allowed}@media (prefers-color-scheme: dark){.syl-header{background:var(--color-card, #1e293b)}.syl-search{background:#ffffff0a}.syl-search:focus-within{background:#ffffff0f}.tr{background:var(--color-card, #1e293b);border-color:#ffffff14}.tr-material{background:#ffffff0a}.tr-chip--draft{background:#f59e0b33;color:#fde68a}.tr-chip--ready{background:#10b98133;color:#a7f3d0}.tr-chip--taught{background:#3b82f633;color:#bfdbfe}.ati{background:var(--color-card, #1e293b)}}.qc-sheet{padding:var(--space-lg, 20px) var(--space-lg, 20px) var(--space-xl, 24px)}.qc-sheet__title{font-size:var(--font-size-md, 16px);font-weight:600;margin:0 0 var(--space-md, 12px);color:var(--color-foreground)}.qc-sheet__textarea{--background: var(--color-surface, #f8f9fa);--border-radius: var(--radius-md, 8px);--padding-start: 12px;--padding-end: 12px;border:1px solid var(--color-border, #e2e8f0);border-radius:var(--radius-md, 8px);margin-bottom:var(--space-md, 12px)}.qc-sheet__actions{display:flex;justify-content:flex-end;gap:var(--space-sm, 8px)}.att-list-page{padding-bottom:0}.att-list-loading{display:flex;justify-content:center;align-items:center;padding:var(--space-4xl);min-height:200px}.att-list-hero{background:var(--gradient-primary);padding:var(--space-md) var(--space-lg);padding-top:max(var(--space-md),env(safe-area-inset-top))}.att-list-hero__nav{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;gap:var(--space-sm)}.att-list-hero__center{flex:1;text-align:center;min-width:0}.att-list-hero__title{font-size:var(--font-size-lg);font-weight:700;color:#fff;margin:0;letter-spacing:-.02em;line-height:1.2}.att-list-hero__subtitle{font-size:var(--font-size-xs);color:#ffffffbf;margin:2px 0 0;font-weight:500}.att-list-filters{padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-sm)}.att-list-container{padding:var(--space-lg)}.att-list-summary{display:flex;justify-content:center;padding:var(--space-md) 0 var(--space-lg)}.att-list-items{display:flex;flex-direction:column;gap:var(--space-xs)}.att-list-empty-filter{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:var(--space-xl) var(--space-md)}.att-student-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-fast)}.att-student-card--expanded{border-color:hsl(var(--primary) / .3)}.att-student-row{display:flex;align-items:center}.att-student-row__main{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);flex:1;min-width:0;background:none;border:none;cursor:pointer;text-align:left;transition:background var(--transition-fast)}.att-student-row__main:active{transform:scale(.98)}.att-student-row__nav{display:flex;align-items:center;justify-content:center;width:36px;height:100%;min-height:48px;border:none;background:none;cursor:pointer;color:var(--color-text-muted);font-size:18px;border-left:1px solid var(--color-border);flex-shrink:0;transition:background var(--transition-fast)}.att-student-row__nav:active{background:hsl(var(--primary) / .06)}.att-student-row__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.att-student-row__name-line{display:flex;align-items:center;gap:6px;min-width:0}.att-student-row__name{font-size:var(--font-size-base);font-weight:600;color:var(--foreground, var(--color-foreground));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-student-row__justified-icon{color:#3b82f6;flex-shrink:0}.att-bar{display:flex;height:6px;border-radius:3px;overflow:hidden;gap:1px;background:var(--color-border-strong, rgba(15, 23, 42, .06))}.att-bar__seg{min-width:2px;border-radius:3px}.att-bar__seg--present{background:#059669}.att-bar__seg--late{background:#d97706}.att-bar__seg--justified{background:#3b82f6}.att-bar__seg--absent{background:#dc2626}.att-rate{font-size:var(--font-size-sm);font-weight:700;flex-shrink:0;min-width:40px;text-align:right}.att-rate--good{color:#059669}.att-rate--warning{color:#d97706}.att-rate--danger{color:#dc2626}.att-student-row__arrow{color:var(--color-text-muted);flex-shrink:0;transition:transform .2s ease}.att-student-row__arrow--expanded{transform:rotate(180deg)}.att-expand{border-top:1px solid var(--color-border);padding:var(--space-sm) var(--space-lg) var(--space-md)}.att-expand__loading{display:flex;justify-content:center;padding:var(--space-md)}.att-expand__empty{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-xs);padding:var(--space-sm)}.att-expand__list{display:flex;flex-direction:column;gap:4px}.att-expand__record{display:flex;align-items:center;gap:var(--space-sm);padding:6px var(--space-sm);border-radius:var(--radius-sm);background:var(--color-surface-subtle, rgba(0,0,0,.02))}.att-expand__date{font-size:var(--font-size-xs);font-weight:600;color:var(--foreground, var(--color-foreground));min-width:40px}.att-expand__subject{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.att-expand__status{font-size:var(--font-size-xs);font-weight:600;margin-left:auto}.att-expand__status--absent{color:#dc2626}.att-expand__status--justified{color:#3b82f6}.att-expand__just-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:var(--color-surface-subtle, rgba(0,0,0,.04));border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;color:var(--color-text-tertiary);transition:background var(--transition-fast),color var(--transition-fast)}.att-expand__just-btn:active{background:hsl(var(--primary) / .12)}.att-expand__just-btn--has-doc{color:#3b82f6;background:#3b82f614}.att-expand__just-btn--has-doc:active{background:#3b82f629}.att-expand__ficha{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:var(--space-sm);padding:8px;border:none;background:var(--color-surface-subtle, rgba(0,0,0,.04));border-radius:var(--radius-sm);cursor:pointer;color:hsl(var(--primary));font-size:var(--font-size-xs);font-weight:600;transition:background var(--transition-fast)}.att-expand__ficha:active{background:hsl(var(--primary) / .12)}.att-justification-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);z-index:9999;color:#fff;font-size:var(--font-size-sm);font-weight:600}@media (prefers-color-scheme: dark){.att-list-hero{background:#0d4a44}.att-list-filters{background:var(--color-surface);border-bottom-color:#ffffff14}.att-student-card{background:var(--color-surface);border-color:#ffffff14}.att-student-row__main:active{background:var(--color-surface-hover)}.att-student-row__nav{border-left-color:#ffffff14}.att-bar{background:#ffffff14}.att-student-row__arrow{color:#52525b}.att-expand{border-top-color:#ffffff14}.att-expand__record{background:#ffffff0a}.att-expand__just-btn{background:#ffffff0f}.att-expand__just-btn--has-doc{background:#3b82f61f}}@media (max-width: 380px){.att-list-hero__title{font-size:var(--font-size-base)}.att-student-row__main{padding:var(--space-sm) var(--space-md)}.att-student-row__name{font-size:var(--font-size-sm)}}@media (min-width: 992px){.att-list-hero{padding:var(--space-sm) var(--space-2xl)}.att-list-filters,.att-list-container{max-width:1280px;margin-left:auto;margin-right:auto}.att-student-card:hover{border-color:hsl(var(--primary))}}.guide-header{display:flex;align-items:center;gap:14px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:16px;background:hsl(var(--primary));color:#fff}.guide-header__back{background:#ffffff26;border:none;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s}.guide-header__back:hover{background:#ffffff40}.guide-header__text h1{font-size:1.25rem;font-weight:700;margin:0;line-height:1.2}.guide-header__text p{font-size:.82rem;opacity:.8;margin:2px 0 0}.guide-body{max-width:720px;margin:0 auto;padding:16px 16px 80px}.guide-accordion{display:flex;flex-direction:column;gap:6px}.guide-accordion-item{border-radius:14px!important;overflow:hidden;border:1px solid hsl(var(--border));background:hsl(var(--card))}.guide-accordion-item[data-state=open]{border-color:hsl(var(--primary));box-shadow:0 2px 12px #15665e14}.guide-accordion__header{padding:14px;min-height:52px}.guide-accordion__num{width:28px;height:28px;border-radius:50%;background:hsl(var(--primary));color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.guide-accordion__icon{color:hsl(var(--primary));flex-shrink:0}.guide-accordion__title{font-weight:600;font-size:.95rem}.guide-section{padding:8px 16px 24px;font-size:.88rem;line-height:1.7;color:hsl(var(--foreground));border-top:1px solid hsl(var(--border));overflow-x:hidden;word-wrap:break-word;overflow-wrap:break-word}.guide-section h4{font-size:.92rem;font-weight:700;color:hsl(var(--primary));margin:24px 0 8px;padding-bottom:4px;border-bottom:1px solid hsl(var(--border))}.guide-section h4:first-child{margin-top:12px}.guide-section p{margin:0 0 10px}.guide-section ul,.guide-section ol{margin:0 0 14px;padding-left:22px}.guide-section li{margin-bottom:4px}.guide-section li+li{margin-top:2px}.guide-section strong{font-weight:600}.guide-section kbd{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:4px;padding:1px 5px;font-size:.82em;font-weight:600;font-family:inherit}.guide-steps{counter-reset:gs;list-style:none!important;padding:0!important;margin:10px 0 16px!important;display:flex;flex-direction:column;gap:4px}.guide-steps li{counter-increment:gs;padding:8px 12px 8px 38px;position:relative;background:hsl(var(--muted) / .5);border-radius:10px;margin:0}.guide-steps li:before{content:counter(gs);position:absolute;left:10px;top:10px;background:hsl(var(--primary));color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.7rem;flex-shrink:0}.guide-table{width:100%;border-collapse:separate;border-spacing:0;margin:10px 0 16px;font-size:.85rem;border-radius:10px;overflow:hidden;border:1px solid hsl(var(--border))}.guide-table th,.guide-table td{text-align:left;padding:10px 14px}.guide-table th{background:hsl(var(--primary));color:#fff;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}.guide-table td{border-top:1px solid hsl(var(--border))}.guide-table tbody tr:nth-child(2n){background:hsl(var(--muted) / .3)}.guide-highlight{border-left:3px solid #e87a1c;background:#e87a1c0a;border-radius:0 10px 10px 0;padding:14px 16px;margin:10px 0 16px}.guide-highlight p:last-child,.guide-highlight ul:last-child,.guide-highlight ol:last-child{margin-bottom:0}.guide-tip{border-left:3px solid #059669;background:#0596690a;border-radius:0 10px 10px 0;padding:14px 16px;margin:10px 0 16px}.guide-workflow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px;margin:14px 0}.guide-workflow>span:not(.guide-workflow__arrow){background:hsl(var(--primary) / .06);border:1.5px solid hsl(var(--primary));border-radius:8px;padding:6px 12px;font-size:.78rem;font-weight:600;color:hsl(var(--primary));white-space:nowrap}.guide-workflow__arrow{padding:0 2px;font-size:1rem;color:hsl(var(--primary));opacity:.5}.guide-colors{display:flex;flex-wrap:wrap;gap:14px;margin:8px 0 14px}.guide-swatch{display:flex;align-items:center;gap:6px;font-size:.84rem}.guide-swatch:before{content:"";width:14px;height:14px;border-radius:50%;flex-shrink:0}.guide-swatch--green:before{background:#059669}.guide-swatch--yellow:before{background:#d97706}.guide-swatch--red:before{background:#dc2626}.guide-faq{padding:12px 0;border-bottom:1px solid hsl(var(--border))}.guide-faq:last-child{border-bottom:none;padding-bottom:0}.guide-faq h4{border-bottom:none!important;margin:0 0 4px!important;padding-bottom:0!important;font-size:.9rem!important;color:hsl(var(--foreground))!important}.guide-faq p{color:hsl(var(--muted-foreground));margin:0!important;font-size:.86rem}.guide-empty{text-align:center;padding:60px 20px;color:hsl(var(--muted-foreground))}.guide-empty p{font-size:.92rem;margin:0}.guide-section .guide-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:10px -4px 16px;padding:0 4px}@media (max-width: 480px){.guide-body{padding:10px 10px 80px}.guide-workflow{flex-direction:column;gap:4px}.guide-workflow__arrow{transform:rotate(90deg)}.guide-table{min-width:320px}.guide-table th,.guide-table td{padding:8px 10px;font-size:.8rem}}@media (min-width: 768px){.guide-body{padding:24px 24px 80px}.guide-section{padding:4px 28px 28px}}.dark .guide-accordion-item{border-color:#ffffff14}.dark .guide-accordion-item[data-state=open]{border-color:hsl(var(--primary))}.dark .guide-section{border-top-color:#ffffff0f}.dark .guide-section h4{border-bottom-color:#ffffff0f}.dark .guide-steps li{background:#ffffff0a}.dark .guide-highlight{background:#e87a1c0f}.dark .guide-tip{background:#0596690f}.dark .guide-section kbd{background:#ffffff14;border-color:#ffffff1a}.dark .guide-table td{border-top-color:#ffffff0f}.dark .guide-table tbody tr:nth-child(2n){background:#ffffff05}.dark .guide-faq{border-bottom-color:#ffffff0f}.list-card{position:relative;display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;font-family:inherit;color:inherit;animation:list-card-in .36s cubic-bezier(.16,1,.3,1) both;transition:border-color .18s var(--ease-out),box-shadow .18s var(--ease-out),transform .16s var(--ease-out),background .18s var(--ease-out)}button.list-card{cursor:pointer}.list-card--clickable:hover{border-color:color-mix(in oklab,var(--color-primary) 35%,var(--color-border));box-shadow:var(--shadow-sm)}.list-card--clickable:active{transform:scale(.995)}.list-card--clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.list-card--has-accent{padding-left:calc(var(--space-md) + 4px)}.list-card--has-accent:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 9999px 9999px 0;background:var(--list-card-accent, var(--color-primary));opacity:.85}.list-card__icon-slot{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:#0f172a0a;color:var(--color-text-secondary)}.list-card__icon-slot--bare{background:transparent;padding:0;overflow:hidden}.list-card__icon--primary{background:#15665e1a;color:var(--color-primary)}.list-card__icon--violet{background:#7c3aed1a;color:#6d28d9}.list-card__icon--amber{background:#d977061a;color:#b45309}.list-card__icon--rose{background:#e11d481a;color:#be123c}.list-card__icon--emerald{background:#0596691a;color:#047857}.list-card__icon--sky{background:#0284c71a;color:#0369a1}.list-card__icon--teal{background:#0d94881a;color:#0f766e}.list-card__icon--muted{background:#0f172a0d;color:var(--color-text-tertiary)}.list-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-card__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card__subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card__meta{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-xs)}.list-card__actions{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;opacity:1;transition:opacity .15s var(--ease-out)}@media (hover: hover) and (pointer: fine){.list-card__actions{opacity:0}.list-card:hover .list-card__actions,.list-card:focus-within .list-card__actions{opacity:1}}.list-card__chevron{flex-shrink:0;color:var(--color-text-tertiary);transition:color .15s var(--ease-out),transform .18s var(--ease-out)}.list-card--clickable:hover .list-card__chevron{color:var(--color-primary);transform:translate(2px)}@keyframes list-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.list-card{animation:none}}@media (prefers-color-scheme: dark){.list-card__icon-slot{background:#ffffff0a}.list-card__icon--primary{background:#15665e2e;color:#5eead4}.list-card__icon--violet{background:#7c3aed2e;color:#c4b5fd}.list-card__icon--amber{background:#d977062e;color:#fcd34d}.list-card__icon--rose{background:#e11d482e;color:#fda4af}.list-card__icon--emerald{background:#0596692e;color:#6ee7b7}.list-card__icon--sky{background:#0284c72e;color:#7dd3fc}.list-card__icon--teal{background:#0d94882e;color:#5eead4}}.filter-bar{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.filter-bar__filters{display:flex;align-items:center;gap:var(--space-sm);flex:1;min-width:200px;flex-wrap:wrap}.filter-bar__right{display:flex;align-items:center;gap:var(--space-sm);margin-left:auto}.filter-bar__summary{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap}@media (max-width: 640px){.filter-bar{align-items:stretch}.filter-bar__filters{width:100%}.filter-bar__right{width:100%;justify-content:space-between;margin-left:0}}:root{--font-size-xs: .6875rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2rem;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .05);--shadow-md: 0 2px 8px rgba(15, 23, 42, .06);--shadow-lg: 0 4px 12px rgba(15, 23, 42, .08);--shadow-xl: 0 8px 24px rgba(15, 23, 42, .1);--shadow-primary: none;--shadow-primary-lg: none;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 14px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--transition-fast: .15s var(--ease-out);--transition-base: .2s var(--ease-out);--transition-slow: .3s var(--ease-out);--gradient-primary: #15665E;--gradient-primary-soft: rgba(21, 102, 94, .06);--gradient-warm: #E87A1C;--gradient-success: #059669;--color-text-primary: #0F172A;--color-text-secondary: #64748B;--color-text-tertiary: #94A3B8;--color-text-muted: #94A3B8;--chart-correct: #10B981;--chart-partial: #F59E0B;--chart-incorrect: #EF4444;--chart-blank: #CBD5E1;--chart-excellent: #10B981;--chart-good: #3B82F6;--chart-borderline: #F59E0B;--chart-fail: #EF4444;--color-status-pending: #D97706;--color-status-pending-bg: rgba(217, 119, 6, .1);--color-status-success: #059669;--color-status-success-bg: rgba(5, 150, 105, .1);--color-status-danger: #DC2626;--color-status-danger-bg: rgba(220, 38, 38, .1);--color-status-info: #6366F1;--color-status-info-bg: rgba(99, 102, 241, .1);--color-surface: #ffffff;--color-surface-hover: rgba(15, 23, 42, .02);--color-surface-subtle: rgba(15, 23, 42, .03);--color-border: rgba(15, 23, 42, .04);--color-border-strong: rgba(15, 23, 42, .06);--avatar-color-1: #15665E;--avatar-color-2: #2563EB;--avatar-color-3: #7C3AED;--avatar-color-4: #DB2777;--avatar-color-5: #D97706;--avatar-color-6: #059669;--avatar-color-7: #DC2626;--avatar-color-8: #0891B2;--palette-color-1: #15665E;--palette-color-2: #2563EB;--palette-color-3: #6C3AED;--palette-color-4: #DB2777;--palette-color-5: #D97706;--palette-color-6: #059669;--palette-color-7: #DC2626;--palette-color-8: #0891B2;--app-content-padding: var(--space-lg);--app-card-margin: var(--space-md);--app-section-gap: var(--space-2xl);--app-shadow-sm: var(--shadow-sm);--app-shadow: var(--shadow-md);--app-shadow-md: var(--shadow-lg);--app-shadow-button: var(--shadow-primary);--app-shadow-button-hover: var(--shadow-primary-lg)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-background);color:var(--color-foreground)}.card-item{--background: var(--color-surface) !important;border-radius:var(--radius-md);box-shadow:var(--shadow-xs);border:1px solid rgba(15,23,42,.06);margin:0 var(--space-lg) var(--space-sm) var(--space-lg);overflow:hidden;isolation:isolate;position:relative}.card-item::part(native){background:var(--color-surface)!important}.grade-pass{color:#16a34a;font-weight:700}.grade-borderline{color:#d97706;font-weight:700}.grade-fail{color:#dc2626;font-weight:700}.annotation-correct{background-color:#dcfce7;color:#166534;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.annotation-incorrect{background-color:#fee2e2;color:#991b1b;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.annotation-uncertain{background-color:#f1f5f9;color:#64748b;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);display:inline-block;flex-shrink:0}.status-dot--success{background-color:var(--color-success)}.status-dot--warning{background-color:var(--color-warning)}.status-dot--danger{background-color:var(--color-danger)}.status-dot--medium{background-color:var(--color-muted-foreground)}.avatar{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-sm);color:#fff;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px}.avatar--sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar--lg{width:48px;height:48px;font-size:var(--font-size-md)}.section{margin-bottom:var(--space-2xl)}.section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);padding:0 var(--space-xs)}.section__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.metric-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-xs);border:1px solid var(--color-border-strong);text-align:center}.metric-card__value{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-foreground);line-height:1.1;letter-spacing:-.02em}.metric-card__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:500;margin-top:var(--space-xs)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.skeleton{background:linear-gradient(90deg,#0f172a0f 25%,#0f172a1f,#0f172a0f 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton--text{height:14px;margin-bottom:var(--space-xs)}.skeleton--text-lg{height:20px;margin-bottom:var(--space-sm)}.skeleton--avatar{width:40px;height:40px;border-radius:var(--radius-full);flex-shrink:0}.skeleton--card{height:80px;border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.skeleton--badge{width:60px;height:24px;border-radius:var(--radius-full)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-color-scheme: dark){:root{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px rgba(0, 0, 0, .25);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .3);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .35);--shadow-primary: none;--shadow-primary-lg: none;--color-text-primary: #F1F5F9;--color-text-secondary: #A1A1AA;--color-text-tertiary: #71717A;--color-text-muted: #71717A;--chart-correct: #34D399;--chart-partial: #FBBF24;--chart-incorrect: #F87171;--chart-blank: #52525B;--chart-excellent: #34D399;--chart-good: #60A5FA;--chart-borderline: #FBBF24;--chart-fail: #F87171;--color-status-pending: #FBBF24;--color-status-pending-bg: rgba(217, 119, 6, .15);--color-status-success: #34D399;--color-status-success-bg: rgba(5, 150, 105, .15);--color-status-danger: #F87171;--color-status-danger-bg: rgba(220, 38, 38, .15);--color-status-info: #818CF8;--color-status-info-bg: rgba(99, 102, 241, .15);--color-surface: #16161A;--color-surface-hover: rgba(255, 255, 255, .04);--color-surface-subtle: rgba(255, 255, 255, .04);--color-border: rgba(255, 255, 255, .06);--color-border-strong: rgba(255, 255, 255, .08)}.skeleton{background:linear-gradient(90deg,#ffffff0f 25%,#ffffff1f,#ffffff0f 75%);background-size:200% 100%}.metric-card{background:var(--color-surface);border:1px solid rgba(255,255,255,.12)}.grade-pass{color:#34d399}.grade-borderline{color:#fbbf24}.grade-fail{color:#f87171}.annotation-correct{background-color:#05966926;color:#34d399}.annotation-incorrect{background-color:#dc262626;color:#f87171}.annotation-uncertain{background-color:#ffffff0f;color:#a1a1aa}}.modal-sheet{padding:var(--space-2xl) var(--space-xl)}.modal-sheet--scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-sheet__title{font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--space-lg);letter-spacing:-.02em;color:var(--color-foreground)}.modal-sheet__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--space-md)}@media (prefers-color-scheme: dark){.modal-sheet{background:var(--color-surface)}}.form-grid{display:flex;flex-direction:column;gap:var(--space-md)}.form-item{--background: rgba(15, 23, 42, .03);--border-radius: var(--radius-md);--padding-start: var(--space-lg);--padding-end: var(--space-lg);--min-height: 56px;border-radius:var(--radius-md);overflow:hidden}.form-row{display:flex;gap:var(--space-md)}.form-item-half{flex:1}.form-item-standalone{display:flex;flex-direction:column;gap:4px}.form-item-label{font-size:12px;font-weight:500;color:var(--color-muted-foreground);padding-left:2px}.form-section-label{font-size:var(--font-size-sm);font-weight:600;color:#64748b;display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.form-error{padding:10px 14px;margin-bottom:var(--space-md);border-radius:var(--radius-md);background:#dc26261a;color:var(--color-danger);font-size:var(--font-size-sm)}.add-action-cards{display:flex;flex-direction:column;gap:var(--space-sm)}.add-action-card{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:all .15s ease;font-family:inherit;text-align:left;width:100%}.add-action-card:active{transform:scale(.98)}.add-action-card__icon{width:40px;height:40px;border-radius:var(--radius-md);background:#15665e14;display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-action-card__icon svg{width:20px;height:20px;color:var(--color-primary)}.add-action-card__content{display:flex;flex-direction:column;gap:2px}.add-action-card__title{font-size:var(--font-size-base);font-weight:600;color:var(--color-foreground)}.add-action-card__desc{font-size:var(--font-size-xs);color:var(--color-muted-foreground)}@media (prefers-color-scheme: dark){.form-item{--background: rgba(255, 255, 255, .04)}.add-action-card{background:var(--color-surface);border-color:#ffffff14}}.std-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);border:1px solid var(--color-border);overflow:hidden}.std-card--clickable{cursor:pointer}.std-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px #15665e26}.status-badge{font-size:var(--font-size-xs);font-weight:600;padding:4px 10px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:var(--space-xs)}.status-badge--pending{background:var(--color-status-pending-bg);color:var(--color-status-pending)}.status-badge--success{background:var(--color-status-success-bg);color:var(--color-status-success)}.status-badge--danger{background:var(--color-status-danger-bg);color:var(--color-status-danger)}.status-badge--info{background:var(--color-status-info-bg);color:var(--color-status-info)}.status-badge--muted{background:var(--color-surface-subtle);color:var(--color-text-secondary)}.alert-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);cursor:pointer}.alert-banner--warning{background:var(--color-status-pending-bg);border:1px solid rgba(217,119,6,.15)}.alert-banner--success{background:var(--color-status-success-bg);border:1px solid rgba(5,150,105,.15)}.alert-banner--info{background:var(--color-status-info-bg);border:1px solid rgba(99,102,241,.15)}.alert-banner__icon{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.alert-banner--warning .alert-banner__icon{background:var(--color-warning);color:#fff}.alert-banner__content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.alert-banner__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground)}.alert-banner__subtitle{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.action-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.action-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);cursor:pointer;box-shadow:var(--shadow-xs);font-family:inherit;text-align:center;transition:background var(--transition-fast)}.action-card:hover{background:var(--color-surface-hover)}.action-card:active{background:var(--color-surface-subtle)}.action-card__icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:24px}.action-card__label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-foreground);line-height:1.3}.loading-container{display:flex;justify-content:center;align-items:center;padding:var(--space-4xl);min-height:200px}.empty-state--compact{min-height:160px;padding:var(--space-2xl) var(--space-xl)}.list-item-card{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:none;border:1px solid var(--color-border);cursor:pointer}.list-item-card__avatar{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--font-size-sm);color:#fff;flex-shrink:0}.list-item-card__content{flex:1;display:flex;flex-direction:column;min-width:0}.list-item-card__title{font-size:var(--font-size-base);font-weight:600;color:var(--color-foreground)}.list-item-card__subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:2px}.list-item-card__arrow{font-size:18px;color:var(--color-text-muted);flex-shrink:0}.inline-form-row{display:flex;gap:var(--space-sm);align-items:center}.inline-form-row__input{flex:1}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-md)}.stat-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-xs);border:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm)}.stat-card__icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:22px}.stat-card__value{font-size:var(--font-size-2xl);font-weight:800;color:var(--color-foreground);line-height:1;letter-spacing:-.02em}.stat-card__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:500}@media (prefers-color-scheme: dark){.std-card,.action-card,.list-item-card,.stat-card{background:var(--color-surface);border-color:var(--color-border)}.alert-banner--warning{background:#d977061f;border-color:#d9770633}.alert-banner--success{background:#0596691f;border-color:#05966933}.alert-banner--info{background:#6366f11f;border-color:#6366f133}}.skip-nav{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:10000;padding:var(--space-md) var(--space-xl);background:var(--color-primary);color:var(--color-primary-foreground);font-size:var(--font-size-base);font-weight:600;border-radius:0 0 var(--radius-md) 0;text-decoration:none}.skip-nav:focus{position:fixed;left:0;top:0;width:auto;height:auto;overflow:visible}.pressable:focus-visible,.std-card--clickable:focus-visible,.add-action-card:focus-visible,.action-card:focus-visible,.list-item-card:focus-visible,.side-menu__item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-md)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.skeleton{animation:none;background:#0f172a14}}@media (prefers-reduced-motion: no-preference){::view-transition-old(root){animation:.15s ease-out both fade-out}::view-transition-new(root){animation:.2s ease-out 50ms both fade-in}@keyframes fade-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}}.pressable{transition:transform .15s cubic-bezier(.16,1,.3,1);-webkit-tap-highlight-color:transparent}.pressable:active{transform:scale(.98)}@keyframes staggerIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger-item{opacity:0;animation:staggerIn .3s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .35s cubic-bezier(.16,1,.3,1) forwards}.count-up{display:inline-block;transition:all .4s cubic-bezier(.16,1,.3,1)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}@keyframes aiShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes aiGlow{0%,to{filter:drop-shadow(0 0 4px rgba(21,102,94,.2));transform:scale(1)}50%{filter:drop-shadow(0 0 12px rgba(21,102,94,.5));transform:scale(1.08)}}@keyframes aiDotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}@keyframes aiRipple{0%{transform:scale(.6);opacity:.6}to{transform:scale(2);opacity:0}}@keyframes aiOrbit{0%{transform:rotate(0) translate(28px) rotate(0);opacity:.8}50%{opacity:1}to{transform:rotate(360deg) translate(28px) rotate(-360deg);opacity:.8}}@keyframes aiProgressSlide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@keyframes aiFadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pageEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:pageEnter .25s cubic-bezier(.16,1,.3,1) forwards}@media (prefers-reduced-motion: reduce){.pressable:active{transform:none}.stagger-item,.fade-in,.slide-up{animation:none;opacity:1}.pulse,.spinning{animation:none}.page-enter{animation:none;opacity:1}}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:""}}}@layer theme{:root,:host{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-200:oklch(90.1% .076 70.697);--color-orange-800:oklch(47% .157 37.304);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-green-100:oklch(96.2% .044 156.743);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-teal-100:oklch(95.3% .051 180.801);--color-teal-700:oklch(51.1% .096 186.391);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-700:oklch(50% .134 242.749);--color-blue-50:oklch(97% .014 254.604);--color-blue-300:oklch(80.9% .105 251.813);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-900:oklch(35.9% .144 278.697);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-700:oklch(49.1% .27 292.581);--color-rose-100:oklch(94.1% .03 12.58);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-700:oklch(37.2% .044 257.287);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-600:oklch(44.6% .03 256.802);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:1rem;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 1px 3px #0f172a0d;--shadow-md:0 2px 8px #0f172a0f;--shadow-lg:0 4px 12px #0f172a14;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#15665e;--color-primary-foreground:#fff;--color-primary-shade:#125a53;--color-primary-tint:#2c756e;--color-secondary:#e87a1c;--color-secondary-foreground:#fff;--color-tertiary:#1e8a7f;--color-success:#059669;--color-warning:#d97706;--color-danger:#dc2626;--color-destructive:#dc2626;--color-destructive-foreground:#fff;--color-background:#f8fafc;--color-foreground:#0f172a;--color-muted:#f1f5f9;--color-muted-foreground:#64748b;--color-accent:#f1f5f9;--color-accent-foreground:#0f172a;--color-card:#fff;--color-card-foreground:#0f172a;--color-popover:#fff;--color-popover-foreground:#0f172a;--color-border:#0f172a14;--color-input:#0f172a14;--color-ring:#15665e;--font-size-xs:.6875rem;--font-size-sm:.8125rem;--font-size-base:.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--width-narrow:720px;--width-comfort:1040px;--width-wide:1440px;--pad-page-x:16px;--pad-page-y:16px;--rail-width:360px;--rail-width-wide:400px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.-right-2\.5{right:calc(var(--spacing) * -2.5)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-2\.5{right:calc(var(--spacing) * 2.5)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-2\.5{bottom:calc(var(--spacing) * 2.5)}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-6{left:calc(var(--spacing) * 6)}.left-\[-18px\]{left:-18px}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-3{margin:calc(var(--spacing) * -3)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-7{margin-left:calc(var(--spacing) * 7)}.ml-10{margin-left:calc(var(--spacing) * 10)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!inline{display:inline!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.field-sizing-content{field-sizing:content}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-60{height:calc(var(--spacing) * 60)}.h-64{height:calc(var(--spacing) * 64)}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[40vh\]{height:40vh}.h-\[60vh\]{height:60vh}.h-\[85vh\]{height:85vh}.h-\[95vh\]{height:95vh}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[120px\]{min-height:120px}.min-h-\[124px\]{min-height:124px}.min-h-\[240px\]{min-height:240px}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-60{width:calc(var(--spacing) * 60)}.w-72{width:calc(var(--spacing) * 72)}.w-\[12\%\]{width:12%}.w-\[30\%\]{width:30%}.w-\[35\%\]{width:35%}.w-\[40\%\]{width:40%}.w-\[50\%\]{width:50%}.w-\[55\%\]{width:55%}.w-\[60\%\]{width:60%}.w-\[70\%\]{width:70%}.w-\[72px\]{width:72px}.w-\[80\%\]{width:80%}.w-\[260px\]{width:260px}.w-\[360px\]{width:360px}.w-\[min\(300px\,calc\(100vw-1rem\)\)\]{width:min(300px,100vw - 1rem)}.w-\[min\(320px\,calc\(100vw-1rem\)\)\]{width:min(320px,100vw - 1rem)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\[130px\]{max-width:130px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[5\.5rem\]{min-width:5.5rem}.min-w-\[6rem\]{min-width:6rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[16px\]{min-width:16px}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[720px\]{min-width:720px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0\.5{--tw-translate-y:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.list-disc{list-style-type:disc}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-200\/80{border-color:#fee685cc}@supports (color:color-mix(in lab,red,red)){.border-amber-200\/80{border-color:color-mix(in oklab,var(--color-amber-200) 80%,transparent)}}.border-amber-300{border-color:var(--color-amber-300)}.border-background{border-color:var(--color-background)}.border-blue-300{border-color:var(--color-blue-300)}.border-border{border-color:var(--color-border)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-indigo-400{border-color:var(--color-indigo-400)}.border-indigo-600{border-color:var(--color-indigo-600)}.border-input{border-color:var(--color-input)}.border-orange-200{border-color:var(--color-orange-200)}.border-primary{border-color:var(--color-primary)}.border-red-200{border-color:var(--color-red-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-transparent{border-color:#0000}.border-l-primary{border-left-color:var(--color-primary)}.bg-accent{background-color:var(--color-accent)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--color-background)}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black) 40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/50{background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.bg-border{background-color:var(--color-border)}.bg-card{background-color:var(--color-card)}.bg-danger{background-color:var(--color-danger)}.bg-destructive{background-color:var(--color-destructive)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-foreground{background-color:var(--color-foreground)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-50\/50{background-color:#eef2ff80}@supports (color:color-mix(in lab,red,red)){.bg-indigo-50\/50{background-color:color-mix(in oklab,var(--color-indigo-50) 50%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-muted{background-color:var(--color-muted)}.bg-muted\/30{background-color:#f1f5f94d}@supports (color:color-mix(in lab,red,red)){.bg-muted\/30{background-color:color-mix(in oklab,var(--color-muted) 30%,transparent)}}.bg-muted\/40{background-color:#f1f5f966}@supports (color:color-mix(in lab,red,red)){.bg-muted\/40{background-color:color-mix(in oklab,var(--color-muted) 40%,transparent)}}.bg-muted\/50{background-color:#f1f5f980}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-popover{background-color:var(--color-popover)}.bg-primary{background-color:var(--color-primary)}.bg-primary\/5{background-color:#15665e0d}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,var(--color-primary) 5%,transparent)}}.bg-primary\/10{background-color:#15665e1a}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--color-primary) 10%,transparent)}}.bg-primary\/15{background-color:#15665e26}@supports (color:color-mix(in lab,red,red)){.bg-primary\/15{background-color:color-mix(in oklab,var(--color-primary) 15%,transparent)}}.bg-primary\/20{background-color:#15665e33}@supports (color:color-mix(in lab,red,red)){.bg-primary\/20{background-color:color-mix(in oklab,var(--color-primary) 20%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-rose-100{background-color:var(--color-rose-100)}.bg-secondary{background-color:var(--color-secondary)}.bg-sky-100{background-color:var(--color-sky-100)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-success{background-color:var(--color-success)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-transparent{background-color:#0000}.bg-violet-100{background-color:var(--color-violet-100)}.bg-warning{background-color:var(--color-warning)}.bg-warning\/10{background-color:#d977061a}@supports (color:color-mix(in lab,red,red)){.bg-warning\/10{background-color:color-mix(in oklab,var(--color-warning) 10%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-white\/30{background-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.fill-current{fill:currentColor}.fill-foreground{fill:var(--color-foreground)}.\!p-0{padding:calc(var(--spacing) * 0)!important}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-16{padding:calc(var(--spacing) * 16)}.p-\[3px\]{padding:3px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-\[100px\]{padding-bottom:100px}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.align-baseline{vertical-align:baseline}.align-middle{vertical-align:middle}.font-\[inherit\]{font-family:inherit}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.9375rem\]{font-size:.9375rem}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-800\/80{color:#953d00cc}@supports (color:color-mix(in lab,red,red)){.text-amber-800\/80{color:color-mix(in oklab,var(--color-amber-800) 80%,transparent)}}.text-amber-900{color:var(--color-amber-900)}.text-background{color:var(--color-background)}.text-card-foreground{color:var(--color-card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--color-destructive)}.text-destructive-foreground{color:var(--color-destructive-foreground)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-foreground{color:var(--color-foreground)}.text-foreground\/60{color:#0f172a99}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--color-foreground) 60%,transparent)}}.text-gray-600{color:var(--color-gray-600)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-900{color:var(--color-indigo-900)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-muted-foreground\/60{color:#64748b99}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/60{color:color-mix(in oklab,var(--color-muted-foreground) 60%,transparent)}}.text-muted-foreground\/70{color:#64748bb3}@supports (color:color-mix(in lab,red,red)){.text-muted-foreground\/70{color:color-mix(in oklab,var(--color-muted-foreground) 70%,transparent)}}.text-orange-800{color:var(--color-orange-800)}.text-popover-foreground{color:var(--color-popover-foreground)}.text-primary{color:var(--color-primary)}.text-primary-foreground{color:var(--color-primary-foreground)}.text-primary\/70{color:#15665eb3}@supports (color:color-mix(in lab,red,red)){.text-primary\/70{color:color-mix(in oklab,var(--color-primary) 70%,transparent)}}.text-red-300\/90{color:#ffa3a3e6}@supports (color:color-mix(in lab,red,red)){.text-red-300\/90{color:color-mix(in oklab,var(--color-red-300) 90%,transparent)}}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-secondary-foreground{color:var(--color-secondary-foreground)}.text-sky-700{color:var(--color-sky-700)}.text-slate-700{color:var(--color-slate-700)}.text-teal-700{color:var(--color-teal-700)}.text-violet-700{color:var(--color-violet-700)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-35{opacity:.35}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.\!shadow-none{--tw-shadow:0 0 #0000!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 4px 12px var(--tw-shadow-color,#0f172a14);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 2px 8px var(--tw-shadow-color,#0f172a0f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0f172a0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0f172a0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-ring\/50{--tw-ring-color:#15665e80}@supports (color:color-mix(in lab,red,red)){.ring-ring\/50{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--color-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.delay-1{transition-delay:1ms}.delay-2{transition-delay:2ms}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--color-foreground)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[size\=default\]\/switch\:size-5:is(:where(.group\/switch)[data-size=default] *){width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-data-\[size\=sm\]\/alert-dialog-content\:grid:is(:where(.group\/alert-dialog-content)[data-size=sm] *){display:grid}.group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2:is(:where(.group\/alert-dialog-content)[data-size=sm] *){grid-template-columns:repeat(2,minmax(0,1fr))}.group-data-\[size\=sm\]\/switch\:size-3\.5:is(:where(.group\/switch)[data-size=sm] *){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\:bg-primary ::selection{background-color:var(--color-primary)}.selection\:bg-primary::selection{background-color:var(--color-primary)}.selection\:text-primary-foreground ::selection{color:var(--color-primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--color-primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--color-foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-1:before{content:var(--tw-content);top:calc(var(--spacing) * 1)}.before\:bottom-1:before{content:var(--tw-content);bottom:calc(var(--spacing) * 1)}.before\:left-\[-12px\]:before{content:var(--tw-content);left:-12px}.before\:w-\[2px\]:before{content:var(--tw-content);width:2px}.before\:bg-border:before{content:var(--tw-content);background-color:var(--color-border)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--color-foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing) * 0)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-indigo-400:hover{border-color:var(--color-indigo-400)}.hover\:border-primary\/40:hover{border-color:#15665e66}@supports (color:color-mix(in lab,red,red)){.hover\:border-primary\/40:hover{border-color:color-mix(in oklab,var(--color-primary) 40%,transparent)}}.hover\:bg-accent:hover{background-color:var(--color-accent)}.hover\:bg-destructive\/10:hover{background-color:#dc26261a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/10:hover{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:#dc2626e6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-muted:hover{background-color:var(--color-muted)}.hover\:bg-muted\/40:hover{background-color:#f1f5f966}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/40:hover{background-color:color-mix(in oklab,var(--color-muted) 40%,transparent)}}.hover\:bg-muted\/50:hover{background-color:#f1f5f980}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--color-muted) 50%,transparent)}}.hover\:bg-primary:hover{background-color:var(--color-primary)}.hover\:bg-primary\/90:hover{background-color:#15665ee6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:#e87a1ccc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--color-secondary) 80%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}.hover\:text-destructive:hover{color:var(--color-destructive)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:text-indigo-600:hover{color:var(--color-indigo-600)}.hover\:text-primary-foreground:hover{color:var(--color-primary-foreground)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-sm:hover{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0f172a0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:bg-accent:focus{background-color:var(--color-accent)}.focus\:text-accent-foreground:focus{color:var(--color-accent-foreground)}.focus\:text-destructive:focus{color:var(--color-destructive)}.focus\:text-red-600:focus{color:var(--color-red-600)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--color-ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-ring:focus-visible{border-color:var(--color-ring)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:#dc262633}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:var(--color-primary)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:#15665e80}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-ring) 50%, transparent)}}.focus-visible\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--color-ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-\[0\.985\]:active{scale:.985}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_auto_1fr\]:has([data-slot=alert-dialog-media]){grid-template-rows:auto auto 1fr}.has-data-\[slot\=alert-dialog-media\]\:gap-x-6:has([data-slot=alert-dialog-media]){column-gap:calc(var(--spacing) * 6)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--color-destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:#dc262633}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 20%, transparent)}}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-1\.5[data-orientation=horizontal]{height:calc(var(--spacing) * 1.5)}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:calc(var(--spacing) * 44)}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:calc(var(--spacing) * 1.5)}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--color-muted-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=default\]\:h-6[data-size=default]{height:calc(var(--spacing) * 6)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=default\]\:w-11[data-size=default]{width:calc(var(--spacing) * 11)}.data-\[size\=sm\]\:h-4[data-size=sm]{height:calc(var(--spacing) * 4)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}.data-\[size\=sm\]\:w-7[data-size=sm]{width:calc(var(--spacing) * 7)}.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:var(--container-xs)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--color-background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--color-foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0f172a0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--color-primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--color-primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--color-accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--color-secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--color-accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--color-muted-foreground)}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--color-input)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--color-destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:#dc26261a}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--color-destructive)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (min-width:40rem){.sm\:inline{display:inline}.sm\:w-\[420px\]{width:420px}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-3xl{max-width:var(--container-3xl)}.sm\:max-w-4xl{max-width:var(--container-4xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2:is(:where(.group\/alert-dialog-content)[data-size=default] *){grid-row:span 2/span 2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start:is(:where(.group\/alert-dialog-content)[data-size=default] *){place-items:start}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left:is(:where(.group\/alert-dialog-content)[data-size=default] *){text-align:left}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:group-has-data-\[slot\=alert-dialog-media\]\/alert-dialog-content\:col-start-2:is(:where(.group\/alert-dialog-content)[data-size=default] *):is(:where(.group\/alert-dialog-content):has([data-slot=alert-dialog-media]) *){grid-column-start:2}.sm\:group-data-\[size\=default\]\/alert-dialog-content\:has-data-\[slot\=alert-dialog-media\]\:grid-rows-\[auto_1fr\]:is(:where(.group\/alert-dialog-content)[data-size=default] *):has([data-slot=alert-dialog-media]){grid-template-rows:auto 1fr}.data-\[size\=default\]\:sm\:max-w-lg[data-size=default]{max-width:var(--container-lg)}}@media (min-width:48rem){.md\:inline{display:inline}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media (min-width:64rem){.lg\:mb-6{margin-bottom:calc(var(--spacing) * 6)}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}.lg\:pb-0{padding-bottom:calc(var(--spacing) * 0)}}@media (min-width:80rem){.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (min-width:96rem){.\32xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.\32xl\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}}@media (prefers-color-scheme:dark){.dark\:border-amber-900\/40{border-color:#7b330666}@supports (color:color-mix(in lab,red,red)){.dark\:border-amber-900\/40{border-color:color-mix(in oklab,var(--color-amber-900) 40%,transparent)}}.dark\:border-input{border-color:var(--color-input)}.dark\:bg-amber-950\/40{background-color:#46190166}@supports (color:color-mix(in lab,red,red)){.dark\:bg-amber-950\/40{background-color:color-mix(in oklab,var(--color-amber-950) 40%,transparent)}}.dark\:bg-card{background-color:var(--color-card)}.dark\:bg-destructive\/60{background-color:#dc262699}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab,var(--color-destructive) 60%,transparent)}}.dark\:bg-input\/30{background-color:#0f172a06}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}.dark\:text-amber-200{color:var(--color-amber-200)}.dark\:text-amber-300\/80{color:#ffd236cc}@supports (color:color-mix(in lab,red,red)){.dark\:text-amber-300\/80{color:color-mix(in oklab,var(--color-amber-300) 80%,transparent)}}.dark\:text-muted-foreground{color:var(--color-muted-foreground)}@media (hover:hover){.dark\:hover\:bg-accent\/50:hover{background-color:#f1f5f980}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:hover{background-color:color-mix(in oklab,var(--color-accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:#0f172a0a}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab,var(--color-input) 50%,transparent)}}.dark\:hover\:text-foreground:hover{color:var(--color-foreground)}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:#dc262666}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:#dc262666}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--color-destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input[data-state=active]{border-color:var(--color-input)}.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:#0f172a06}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]{background-color:color-mix(in oklab,var(--color-input) 30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--color-foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.dark\:data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--color-primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]{background-color:var(--color-primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground[data-state=unchecked]{background-color:var(--color-foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:#0f172a10}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]{background-color:color-mix(in oklab,var(--color-input) 80%,transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:#dc262633}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--color-destructive) 20%,transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--color-muted-foreground)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--color-destructive)!important}:is(.\*\:\[svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-8>*):is(svg:not([class*=size-])){width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.\[\&\>div\]\:bg-green-600>div{background-color:var(--color-green-600)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}@media (hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--color-accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:#dc2626e6}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--color-destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:#15665ee6}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--color-primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:#e87a1ce6}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--color-secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--color-accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}.app-main{container:page/inline-size}@container page (min-width:768px){.app-main{--pad-page-x:24px;--pad-page-y:20px}}@container page (min-width:1100px){.app-main{--pad-page-x:32px;--pad-page-y:24px}}@container page (min-width:1440px){.app-main{--pad-page-x:40px;--pad-page-y:28px;--rail-width:var(--rail-width-wide)}}.ps-content{width:100%;margin-left:auto;margin-right:auto}.ps-content--narrow{max-width:var(--width-narrow)}.ps-content--comfort{max-width:var(--width-comfort)}.ps-content--wide{max-width:var(--width-wide)}.ps-content--full{max-width:none}.ps-content--padded{padding:var(--pad-page-y) var(--pad-page-x)}.ps-split{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.ps-split__rail{min-width:0}@container page (min-width:1024px){.ps-split{grid-template-columns:minmax(0,1fr) var(--rail-width);gap:28px}.ps-split__rail{align-self:start;max-height:calc(100vh - 32px);position:sticky;top:16px;overflow:auto}}@container page (min-width:1440px){.ps-split{gap:36px}}.ps-rail-desktop{display:none}@container page (min-width:1024px){.ps-rail-desktop{display:block}}.ps-mobile-only{display:block}@container page (min-width:1024px){.ps-mobile-only{display:none}}@media (prefers-color-scheme:dark){:root{--color-background:#0f172a;--color-foreground:#f8fafc;--color-card:#1e293b;--color-card-foreground:#f8fafc;--color-popover:#1e293b;--color-popover-foreground:#f8fafc;--color-muted:#1e293b;--color-muted-foreground:#94a3b8;--color-accent:#1e293b;--color-accent-foreground:#f8fafc;--color-border:#f8fafc14;--color-input:#f8fafc14;--color-ring:#2c9e92;--color-primary:#2c9e92;--color-primary-foreground:#fff;--color-destructive:#f87171;--color-destructive-foreground:#fff;--color-success:#34d399;--color-warning:#fbbf24;--color-danger:#f87171;--shadow-xs:0 1px 2px #00000026;--shadow-sm:0 1px 3px #0003;--shadow-md:0 2px 8px #00000040;--shadow-lg:0 4px 12px #0000004d;--shadow-xl:0 8px 24px #00000059}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
