.sparky-thinking-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl)}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.sparky-thinking-animated{color:var(--text-muted);animation:bob 1.5s ease-in-out infinite}.sparky-thinking-message{font-size:var(--text-sm);color:var(--text-muted)}@keyframes dotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.typing-indicator{display:flex;gap:var(--space-xs)}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:dotBounce 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}.sparky-thinking-cancel{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-size:var(--text-sm);cursor:pointer}.sparky-thinking-cancel:hover{background:var(--sidebar-bg-hover)}@media(prefers-reduced-motion:reduce){.sparky-thinking-animated,.typing-indicator span{animation:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast);line-height:1;-webkit-user-select:none;user-select:none}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-sm{padding:6px 12px;font-size:var(--text-sm);min-height:30px}.btn-md{padding:var(--space-sm) 16px;font-size:var(--text-base);min-height:36px}.btn-lg{padding:10px 20px;font-size:var(--text-md);min-height:42px}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border-card)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.btn-danger{background:var(--alert-critical);color:var(--text-on-brand)}.btn-danger:hover:not(:disabled){opacity:.9}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.input-wrapper{display:flex;flex-direction:column;gap:var(--space-xs)}.input-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.input-field{width:100%;padding:10px 12px;border:1px solid var(--border-card);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);color:var(--text);background:transparent;outline:none;transition:border-color .15s}.input-field:focus{border-color:var(--btn-primary-bg)}.input-field::placeholder{color:var(--text-placeholder)}.input-field.input-error{border-color:var(--alert-critical)}.input-error-text{font-size:var(--text-sm);color:var(--alert-critical)}.input-count{font-size:var(--text-xs);color:var(--text-muted);text-align:right}textarea.input-field{resize:vertical;min-height:80px}.modal-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-xl);background:var(--scrim);z-index:var(--z-modal)}.modal-content{display:flex;flex-direction:column;width:100%;max-width:calc(var(--content-max) / 2 + var(--space-xl) * 2);max-height:calc(100dvh - var(--space-xl) * 2);overflow-y:auto;background:var(--card);border:var(--border-thin) solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:var(--text-base);font-weight:var(--weight-normal)}.modal-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-md) 0}.modal-content .modal-title{margin:0;font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text)}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:var(--space-xl);height:var(--space-xl);margin-left:auto;padding:0;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer}.modal-close:hover{background:var(--bg-hover)}.modal-close svg{width:var(--space-md);height:var(--space-md)}.modal-body{padding:var(--space-md)}.modal-content .create-modal__label{display:block;margin-bottom:var(--space-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.modal-content .create-modal__input{width:100%;height:var(--space-xl);padding:0 var(--space-sm);border:var(--border-thin) solid var(--border-card);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--bg-paper);color:var(--text)}.modal-content .create-modal__footer{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md)}.modal-content .create-modal__btn{height:var(--space-xl);padding:0 var(--space-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold);border-radius:var(--radius-sm)}.modal-content .assign-class__list{display:flex;flex-direction:column;gap:var(--space-sm)}.modal-content .assign-class__row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:var(--border-thin) solid var(--border-light)}.modal-content .assign-class__name{flex:1;font-size:var(--text-base)}.modal-content .assign-class__grade{font-size:var(--text-sm);color:var(--text-secondary)}.modal-content .assign-class__toggle{height:var(--space-xl);padding:0 var(--space-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold);border:var(--border-thin) solid var(--border-card);border-radius:var(--radius-sm);background:var(--card);color:var(--text-secondary);cursor:pointer}.modal-content .assign-class__toggle--on{background:var(--brand-light);color:var(--brand);border-color:var(--brand)}.modal-subtitle{font-size:var(--text-sm);color:var(--text-secondary);flex:1}.skeleton{background:linear-gradient(90deg,var(--bg) 0%,var(--sidebar-bg-hover) 20%,var(--bg) 40%,var(--sidebar-bg-hover) 60%,var(--bg) 100%);background-size:300% 100%;animation:shimmer 1.8s ease-in-out infinite;opacity:.8}.skeleton-line{height:16px;width:100%;border-radius:var(--radius-sm)}.skeleton-circle{border-radius:50%}.skeleton-rect{border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:skeleton-pulse 2s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:.8}}}.progress-wrapper{display:flex;flex-direction:column;gap:var(--space-xs)}.progress-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary)}.progress-bar{height:6px;width:100%;background:var(--border);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-normal)}.progress-primary .progress-fill{background:var(--text-muted)}.progress-success .progress-fill{background:var(--alert-success)}.progress-warning .progress-fill{background:var(--alert-warning)}.progress-error .progress-fill{background:var(--alert-critical)}.progress-info .progress-fill{background:var(--alert-info)}.badge{display:inline-flex;align-items:center;padding:var(--space-2xs) 8px;font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:var(--radius-md);line-height:1.5;background:var(--card);color:var(--text-muted)}.badge-submitted{background:var(--alert-info-bg);color:var(--alert-info)}.badge-evaluated{background:var(--alert-success-bg);color:var(--alert-success)}.badge-pending{background:var(--card);color:var(--text-muted)}.badge-in-progress{background:var(--alert-warning-bg);color:var(--alert-warning)}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.card-padding-sm{padding:var(--space-sm)}.card-padding-md{padding:var(--space-md)}.card-padding-lg{padding:var(--space-lg)}.tooltip-wrapper{position:relative;display:inline-flex}.tooltip-content{position:absolute;left:50%;transform:translate(-50%);padding:var(--space-xs) 8px;background:var(--text-primary);color:var(--text-on-brand);font-size:var(--text-xs);border-radius:var(--radius-sm);white-space:nowrap;z-index:50;pointer-events:none}.tooltip-top{bottom:calc(100% + 6px)}.tooltip-bottom{top:calc(100% + 6px)}.toast{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:var(--text-sm);animation:slideIn .2s ease}.toast-success{background:var(--alert-success-bg);color:var(--alert-success)}.toast-error{background:var(--alert-critical-bg);color:var(--alert-critical)}.toast-info{background:var(--alert-info-bg);color:var(--alert-info)}.toast-warning{background:var(--alert-warning-bg);color:var(--alert-warning)}.toast-message{flex:1}.toast-close{background:none;border:none;font-size:var(--text-lg);cursor:pointer;color:inherit;opacity:.7;line-height:1}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.submit-progress{text-align:center;padding:var(--space-xl);max-width:400px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.submit-progress-text{font-size:var(--text-base);font-weight:var(--weight-medium)}.submit-progress-check{color:var(--alert-success)}.page-skeleton{display:flex;flex-direction:column;gap:var(--space-md, 16px);padding:var(--space-xl, 24px);max-width:800px;margin:0 auto}.page-skeleton--fade-in{animation:skeleton-fade-in .3s ease-out both}.page-skeleton--stagger{animation:skeleton-slide-up .35s ease-out both}.page-skeleton-header{display:flex;flex-direction:column;gap:var(--space-xs, 8px);margin-bottom:var(--space-sm, 12px)}.page-skeleton-card{display:flex;flex-direction:column;gap:var(--space-sm, 12px);padding:var(--space-md, 16px);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-paper)}.page-skeleton-card-top{display:flex;align-items:center;gap:var(--space-sm, 12px)}.page-skeleton-card-actions{display:flex;gap:var(--space-sm, 12px)}.page-skeleton-list{display:flex;flex-direction:column;gap:var(--space-sm, 12px)}.page-skeleton-list-item{display:flex;align-items:center;gap:var(--space-sm, 12px);padding:var(--space-sm, 12px) var(--space-md, 16px);border:1px solid var(--border);border-radius:var(--radius-md, 8px);background:var(--bg-paper)}.page-skeleton-list-text{flex:1;display:flex;flex-direction:column;gap:6px}@keyframes skeleton-fade-in{0%{opacity:0}to{opacity:1}}@keyframes skeleton-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.page-skeleton--fade-in,.page-skeleton--stagger{animation:none}}.top-progress-bar{position:fixed;top:0;left:0;right:0;height:2px;z-index:9999;pointer-events:none;background:transparent;opacity:0;transition:opacity .2s ease-out}.top-progress-bar[data-active=true]{opacity:1}.top-progress-bar__fill{height:100%;width:100%;background:linear-gradient(90deg,transparent 0%,var(--btn-primary-bg) 30%,var(--btn-primary-bg) 70%,transparent 100%);background-size:50% 100%;background-repeat:no-repeat;animation:top-progress-slide 1.2s linear infinite}@keyframes top-progress-slide{0%{background-position:-50% 0}to{background-position:150% 0}}@media(prefers-reduced-motion:reduce){.top-progress-bar__fill{animation:none;background:var(--btn-primary-bg);opacity:.6}}.button-spinner{display:inline-block;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:button-spinner-rotate .8s linear infinite;vertical-align:middle}@keyframes button-spinner-rotate{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.button-spinner{animation:none;border-top-color:currentColor;opacity:.5}}.signup-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-app);padding:24px 16px}.signup-card{width:100%;max-width:440px;background:var(--bg-paper);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:32px 28px}.signup-card h1{margin:0 0 8px;font-size:var(--text-xl);text-align:center}.signup-card h2,.signup-card h3{margin:16px 0 8px}.signup-lead{margin:0 0 24px;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.signup-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;margin-top:8px;border:1px solid var(--border);background:var(--bg-paper);color:var(--text);border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer}.signup-btn:hover:not(:disabled){background:var(--bg-hover)}.signup-btn:disabled{opacity:.5;cursor:not-allowed}.signup-btn--primary{background:var(--brand);border-color:var(--brand);color:var(--text-on-brand)}.signup-btn--primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.signup-divider{height:1px;background:var(--border);margin:20px 0}.signup-providers{display:flex;flex-direction:column;gap:var(--space-xs)}.signup-field{display:block;margin-top:14px;font-size:var(--text-sm);color:var(--text)}.signup-field>input,.signup-field>select{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--bg-paper);color:var(--text)}.signup-field>input:focus,.signup-field>select:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus-ring-brand)}.signup-fieldset{border:none;padding:0;margin:14px 0 0}.signup-fieldset legend{font-size:var(--text-sm);margin-bottom:6px;color:var(--text)}.signup-fieldset.is-disabled{opacity:.5}.signup-error{padding:10px 12px;margin-top:12px;background:var(--color-error-bg);color:var(--color-error-text);border-radius:var(--radius-sm);font-size:var(--text-sm)}.signup-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.signup-bottom{text-align:center;margin-top:20px;font-size:var(--text-sm);color:var(--text-muted)}.signup-bottom a,.signup-card a{color:var(--brand);text-decoration:none}.signup-bottom a:hover,.signup-card a:hover{color:var(--brand-hover)}.signup-req{color:var(--brand);margin-left:var(--space-2xs)}.signup-control{display:block;width:100%;margin-top:var(--space-xs);padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--bg-paper);color:var(--text)}.signup-control:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus-ring-brand)}.signup-control::placeholder{color:var(--text-placeholder)}.signup-inline{display:flex;gap:var(--space-sm);align-items:stretch}.signup-inline .signup-control{margin-top:0;flex:1}.signup-two-col{display:flex;gap:var(--space-sm)}.signup-two-col>.signup-field{flex:1}.signup-status{margin-top:var(--space-xs);display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted)}.signup-status.ok{color:var(--alert-success)}.signup-status.bad{color:var(--color-error-text)}.signup-status .s{width:14px;height:14px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;color:var(--text-on-brand);font-size:var(--text-2xs);flex:none}.signup-status.ok .s{background:var(--alert-success)}.signup-status.bad .s{background:var(--color-error-text)}.signup-seg{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.signup-seg-opt{flex:1;text-align:center;padding:var(--space-md) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted);background:var(--bg-paper);cursor:pointer}.signup-seg-opt.on{border-color:var(--brand);background:var(--brand-light);color:var(--brand-dark)}.signup-seg-sub{display:block;font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--text-placeholder);margin-top:var(--space-2xs)}.signup-seg-opt.on .signup-seg-sub{color:var(--brand)}.signup-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.signup-chip{font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-muted);background:var(--bg-paper);font-weight:var(--weight-semibold);cursor:pointer}.signup-chip.on{background:var(--brand-light);border-color:var(--brand);color:var(--brand-dark)}.signup-chip.on:after{content:" ✕";opacity:var(--opacity-muted)}.signup-upload{margin-top:var(--space-xs)}.signup-upload-box{display:flex;align-items:center;justify-content:center;width:100%;border:1.5px dashed var(--border);border-radius:var(--radius-sm);padding:var(--space-md);text-align:center;font-size:var(--text-xs);color:var(--text-muted);background:var(--bg-warm);cursor:pointer}.signup-upload-box.done{border-style:solid;border-color:var(--alert-success);background:var(--alert-success-bg);color:var(--alert-success);font-weight:var(--weight-semibold);justify-content:space-between;text-align:left;padding:var(--space-sm) var(--space-md)}.signup-upload-box:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.signup-result{text-align:center}.signup-result-icon{width:56px;height:56px;border-radius:var(--radius-full);margin:var(--space-xs) auto var(--space-md);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);color:var(--text-on-brand)}.signup-result-icon.ok{background:var(--alert-success)}.signup-result-icon.wait{background:var(--alert-warning)}.signup-result-icon.bad{background:var(--color-error-text)}.signup-terms{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.sidebar{background:var(--sidebar-bg);border-right:var(--border-thin) solid var(--sidebar-border);display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition-normal);height:100%}.sidebar__body{flex:1;display:flex;flex-direction:column;padding:var(--space-sm);padding-top:var(--space-md);overflow-y:auto;min-height:0}.sidebar__item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);border-radius:var(--radius-md);color:var(--sidebar-text);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;border:none;background:transparent;width:100%;text-align:left;text-decoration:none;transition:all var(--transition-fast)}.sidebar__item:hover{background:var(--sidebar-bg-hover);color:var(--text)}.sidebar__item.active,.sidebar__item--active{background:var(--sidebar-bg-active);color:var(--sidebar-text-active)}.sidebar__icon{flex-shrink:0;color:var(--sidebar-text-muted)}.sidebar__item:hover .sidebar__icon{color:var(--text-secondary)}.sidebar__item.active .sidebar__icon,.sidebar__item--active .sidebar__icon{color:var(--brand)}.sidebar__label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__badge{min-width:var(--space-lg);height:var(--space-md);border-radius:var(--radius-full);background:var(--brand);color:var(--text-on-brand);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:flex;align-items:center;justify-content:center;padding:0 var(--space-xs);margin-left:auto}.sidebar__badge--warn{background:var(--alert-warning)}.sidebar__divider{height:var(--border-thin);background:var(--sidebar-divider);margin:var(--space-sm) 0}.sidebar__group-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md) var(--space-xs);font-size:var(--text-xs);color:var(--sidebar-text-muted);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:normal}.sidebar__group-header .sidebar__icon{opacity:.7}.sidebar__item--child{padding-left:var(--space-xl)!important;font-size:var(--text-sm)}.sidebar__spacer{flex:1}.sidebar__item--bottom{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--sidebar-text-muted)}.sidebar__tree{padding-left:var(--space-xs);margin-bottom:var(--space-xs)}.ls-group{margin-bottom:var(--space-xs)}.ls-header{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm);border-radius:var(--radius-sm);color:var(--sidebar-text);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;border:none;background:transparent;width:100%;text-align:left}.ls-header:hover{background:var(--sidebar-bg-hover);color:var(--text)}.ls-chevron{flex-shrink:0;color:var(--sidebar-text-muted);transition:transform var(--transition-fast)}.ls-group.open .ls-chevron{transform:rotate(90deg)}.ls-lessons{padding-left:var(--space-md)}.ls-lesson{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--sidebar-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;border:none;background:transparent;width:100%;text-align:left}.ls-lesson:hover{background:var(--sidebar-bg-hover);color:var(--sidebar-text)}.ls-dot{width:var(--space-sm);height:var(--space-sm);border-radius:var(--radius-full);flex-shrink:0}.ls-dot.ready{background:var(--brand)}.ls-dot.empty{background:transparent;border:var(--border-thin) solid var(--sidebar-text-muted)}.sidebar--collapsed .sidebar__label,.sidebar--collapsed .sidebar__divider,.sidebar--collapsed .sidebar__tree{display:none}.sidebar--collapsed .sidebar__item{justify-content:center;padding:var(--space-sm) 0}.sidebar--mobile{position:fixed;top:var(--header-height);left:0;bottom:0;width:var(--sidebar-width);z-index:25;box-shadow:var(--shadow-lg)}.sidebar__backdrop{position:fixed;inset:0;top:var(--header-height);background:var(--scrim);z-index:24}.sidebar--override{background:var(--bg);border-right:var(--border-thin) solid var(--border)}@media(max-width:767px){.sidebar{position:fixed;inset:auto 0 0;height:auto;width:100%!important;flex-direction:row;border-right:none;border-top:var(--border-thin) solid var(--sidebar-border);background:var(--sidebar-bg);z-index:20}.sidebar__body{flex-direction:row;justify-content:space-around;padding:var(--space-xs) 0;overflow:visible;min-height:auto}.sidebar__item{flex-direction:column;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);justify-content:center;align-items:center;flex:1}.sidebar__icon{margin:0}.sidebar__label{font-size:var(--text-xs);text-overflow:clip;overflow:visible}.sidebar__divider,.sidebar__tree,.sidebar__spacer,.sidebar__item--bottom{display:none}.sidebar--collapsed{width:100%!important}.sidebar--mobile{position:fixed;inset:auto 0 0;width:100%;box-shadow:var(--shadow-sm)}.sidebar__backdrop{display:none}.sidebar--override{position:fixed;bottom:auto;top:var(--header-height);left:0;right:auto;width:var(--sidebar-width);height:calc(100vh - var(--header-height));flex-direction:column;border-right:var(--border-thin) solid var(--border);border-top:none}}@media print{.sidebar{display:none!important}}.right-panel{position:relative;display:flex;flex-direction:column;border-left:1px solid var(--border);background:var(--card);overflow:hidden;min-height:0}.right-panel__toolbar{display:flex;justify-content:flex-end;gap:var(--space-xs);padding:var(--space-sm) var(--space-sm) 0;flex-shrink:0}.right-panel__toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.right-panel__toolbar-btn:hover{background:var(--bg-hover);color:var(--text)}.right-panel__content{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.right-panel__footer{flex-shrink:0;padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border);background:var(--card)}.right-panel__input-bar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-warm);border-radius:var(--radius-md)}.right-panel__input-bar input{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:var(--text-base);color:var(--text);outline:none}.right-panel__input-bar input::placeholder{color:var(--text-placeholder)}.resize-handle{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:col-resize;z-index:10;background:transparent;transform:translate(-50%);transition:background .15s}.resize-handle:hover,.resize-handle:active{background:var(--brand)}@media(min-width:768px)and (max-width:1023px){.right-panel{position:absolute;right:0;top:var(--header-height);bottom:0;z-index:20;box-shadow:var(--shadow-lg)}}@media(max-width:767px){.right-panel{position:fixed;top:var(--header-height);left:0;right:0;bottom:56px;width:100%!important;z-index:15}.resize-handle{display:none}}@media print{.panel-container{display:none!important}}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden;max-width:calc(var(--sidebar-width) + var(--content-max) + var(--panel-width))}.header{flex-shrink:0}.app-grid{flex:1;display:grid;grid-template-columns:var(--sidebar-width) 1fr var(--panel-width);overflow:hidden;min-height:0}.app-grid .sidebar{grid-column:1}.app-grid .main{grid-column:2;overflow-y:auto;background:var(--bg);min-height:0}.app-grid .right-panel{grid-column:3;min-height:0}.main-scroll{max-width:var(--content-max);margin:0 auto;padding:var(--space-lg);height:100%;overflow-y:auto}.slide-editor-fullbleed{position:fixed;top:var(--header-height, 52px);left:var(--sidebar-width);right:0;bottom:0;z-index:10;background:var(--bg);display:flex;flex-direction:column}.app-shell.sidebar-collapsed .slide-editor-fullbleed{left:var(--sidebar-collapsed)}.app-shell.sidebar-collapsed .app-grid{grid-template-columns:var(--sidebar-collapsed) 1fr var(--panel-width)}.app-shell.panel-hidden .app-grid{grid-template-columns:var(--sidebar-width) 1fr 0px}.app-shell.sidebar-collapsed.panel-hidden .app-grid{grid-template-columns:var(--sidebar-collapsed) 1fr 0px}.app-shell.panel-expanded .app-grid{grid-template-columns:0px 1fr 1fr}.app-shell.panel-expanded .sidebar{overflow:hidden;width:0;min-width:0;padding:0}.panel-empty-state{padding:var(--space-lg);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--text-placeholder);gap:var(--space-sm)}@media(max-width:1023px){.app-shell{max-width:100%}.app-grid{grid-template-columns:var(--sidebar-collapsed) 1fr 0px}}@media(max-width:767px){.app-grid{grid-template-columns:1fr!important;padding-bottom:56px}.app-grid>.sidebar{position:fixed}.app-grid .right-panel{grid-column:1}}@media print{.app-shell{height:auto!important;overflow:visible!important;max-width:none!important;display:block!important;padding:0!important;margin:0!important}.app-grid{display:block!important;overflow:visible!important}.app-shell>.header,.app-shell>.skip-nav,.app-grid .sidebar,.app-grid .right-panel{display:none!important;height:0!important}.app-grid,.app-grid .main,.main-scroll{display:block!important;overflow:visible!important;height:auto!important;max-height:none!important;min-height:unset!important;max-width:none!important;padding:0!important;position:static!important}}.header{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);min-height:var(--header-height);padding:0 var(--space-md);width:100%;background:var(--brand-bar);border-bottom:none;position:relative;overflow:visible;z-index:var(--z-modal);flex-shrink:0}.header__left{display:flex;align-items:center;gap:var(--space-sm)}.header__hamburger{display:flex;align-items:center;justify-content:center;width:var(--space-xl);height:var(--space-xl);border:none;border-radius:var(--radius-md);background:transparent;color:var(--havruta-w72);cursor:pointer;transition:background var(--transition-fast)}.header__hamburger:hover{background:var(--havruta-w12);color:var(--text-on-brand)}.header__title{font-family:var(--font-heading);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-on-brand)}.header__logo{height:calc(var(--space-lg) + var(--border-thin) * 2);width:auto;filter:brightness(0) invert(1)}.header__right{display:flex;align-items:center;gap:var(--space-xs)}.header__icon-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);border:none;border-radius:var(--radius-md);background:transparent;color:var(--havruta-w72);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.header__icon-btn:hover{background:var(--havruta-w12);color:var(--text-on-brand)}.header__sparky-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);border:none;border-radius:var(--radius-full);background:transparent;color:var(--havruta-w72);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.header__sparky-btn:hover{background:var(--havruta-w12);color:var(--text-on-brand)}.header__sparky-btn--active,.header__sparky-btn--expanded,.header__sparky-btn--expanded:hover{background:var(--bg-paper);color:var(--brand)}.header__sparky-avatar{display:block;flex-shrink:0}.header__separator{width:var(--border-thin);height:var(--space-lg);background:var(--border);margin:0 var(--space-xs)}.header__user-name{font-size:var(--text-sm);color:var(--havruta-w72);padding:0 var(--space-xs)}.header__user-menu{position:relative}.header__user-trigger{display:inline-flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-sm);background:transparent;border:var(--border-thin) solid transparent;border-radius:var(--radius-sm);cursor:pointer;color:inherit;font:inherit}.header__user-trigger:hover{background:var(--havruta-w12)}.header__user-dropdown{position:absolute;top:calc(100% + var(--space-xs));right:0;min-width:calc(var(--sidebar-width) - var(--space-xl));background:var(--bg-paper);color:var(--text);border:var(--border-thin) solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs);z-index:var(--z-modal)}.header__menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm);background:none;border:none;text-align:left;border-radius:var(--radius-sm);cursor:pointer;font:inherit;font-size:var(--text-sm);color:var(--text)}.header__menu-item:hover{background:var(--bg-warm)}.header__menu-item--danger{color:var(--color-error-text)}.header__menu-divider{height:var(--border-thin);background:var(--border-card);margin:var(--space-xs) 0}@media print{.header{display:none!important;height:0!important;min-height:0!important;overflow:hidden!important}}.header__icon-btn,.header__sparky-btn,.header__user-trigger{min-height:var(--space-xl)}.header__user-trigger{color:var(--havruta-w72)}.header__user-trigger svg,.header__menu-item svg{width:var(--text-sm);height:var(--text-sm)}.header__menu-item{font-weight:var(--weight-normal)}._wrapper_eslkj_3{position:relative}._bellBtn_eslkj_7{display:inline-flex;align-items:center;justify-content:center;position:relative;padding:6px 12px;border:none;border-radius:var(--radius-md);background:transparent;color:#ffffffb3;cursor:pointer;transition:all var(--transition-fast)}._bellBtn_eslkj_7:hover{background:#ffffff1f;color:#fff}._badge_eslkj_27{position:absolute;top:2px;right:6px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);background:var(--alert-critical);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}._dropdown_eslkj_46{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:400px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:9000}._header_eslkj_62{padding:var(--space-sm) 16px;font-family:var(--font-heading);font-size:var(--text-base);font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-card)}._empty_eslkj_71{padding:var(--space-lg) 16px;text-align:center;color:var(--text-muted);font-size:var(--text-sm)}._item_eslkj_78{display:block;width:100%;padding:var(--space-sm) 16px;border:none;background:none;text-align:left;cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-light)}._item_eslkj_78:hover{background:var(--bg-hover)}._item_eslkj_78:last-child{border-bottom:none}._itemUnread_eslkj_96{background:var(--bg-brand-tint)}._itemTitle_eslkj_100{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:2px}._itemBody_eslkj_107{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:4px;line-height:var(--leading-normal)}._itemTime_eslkj_114{font-size:var(--text-xs);color:var(--text-muted)}._itemRow_eslkj_119{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}._acceptBtn_eslkj_126{display:inline-flex;align-items:center;font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;background:var(--btn-primary-bg);color:var(--brand);padding:var(--space-xs) 10px;border:none;border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity var(--transition-fast)}._acceptBtn_eslkj_126:hover{opacity:.88}._acceptBtn_eslkj_126[aria-disabled=true]{opacity:.6;cursor:progress}._wrapper_aze0c_1{position:relative}._trigger_aze0c_3{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-on-brand);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:var(--transition-fast)}._trigger_aze0c_3:hover{background:var(--bg-hover);color:var(--text)}._menu_aze0c_23{position:absolute;right:0;top:calc(100% + 4px);list-style:none;margin:0;padding:var(--space-xs) 0;min-width:140px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:100}._menu_aze0c_23 li{margin:0}._menu_aze0c_23 button{width:100%;text-align:left;padding:var(--space-sm) var(--space-md);background:transparent;border:none;color:var(--text);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer}._menu_aze0c_23 button:hover{background:var(--bg-hover)}._menu_aze0c_23 button[aria-current=true]{color:var(--brand);font-weight:var(--weight-semibold)}.error-fallback-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;padding:var(--space-3xl)}.error-fallback-page h2{font-size:var(--text-xl);color:var(--text-primary);margin-bottom:var(--space-sm)}.error-fallback-page p{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-xl)}.error-fallback-panel{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl);gap:var(--space-sm)}.error-fallback-panel h3{font-size:var(--text-lg);color:var(--text-primary)}.error-fallback-panel p{font-size:var(--text-sm);color:var(--text-muted)}.error-fallback-icon{color:var(--alert-warning);margin-bottom:var(--space-md)}.error-fallback-btn{padding:var(--space-sm) var(--space-lg);border:none;border-radius:var(--radius-md);background:var(--text-primary);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.error-fallback-btn:hover{background:var(--brand-hover)}:root{--brand: #2B6CF6;--brand-dark: #1F57D0;--brand-light: #EAF1FE;--brand-hover: #1F57D0;--brand-bar: #12212F;--brand-bar-hover: #25405B;--brand-accent: #FFCC00;--brand-accent-dark: #E5B800;--highlight-marker: rgba(255, 204, 0, .28);--live: #D93025;--text-on-brand: #FFFFFF;--alert-critical-hover: #C92A2A;--cover-red: #DF254B;--cover-orange: #F97316;--cover-amber: #F59E0B;--cover-green: #22A06B;--cover-teal: #0EA5A5;--cover-blue: #3B82F6;--cover-indigo: #6366F1;--cover-violet: #8B5CF6;--cover-pink: #EC4899;--cover-slate: #64748B;--bg: #F8F9FA;--bg-warm: #F1F3F4;--bg-paper: #FFFFFF;--bg-hover: #F1F3F4;--bg-brand-tint: #FCE4EC;--card: #FFFFFF;--sidebar-bg: #FFFFFF;--sidebar-bg-hover: #F1F3F4;--sidebar-bg-active: #EAF1FE;--sidebar-text: #202124;--sidebar-text-muted: #5F6368;--sidebar-text-active: #00274C;--sidebar-divider: #E8EAED;--sidebar-border: #DADCE0;--text: #202124;--text-secondary: #5F6368;--text-muted: #5F6368;--text-placeholder: #9AA0A6;--border-thin: 1px;--border: #E8EAED;--border-light: #F1F3F4;--level-0: #EF5350;--level-1: #FFA726;--level-2: #3B82F6;--level-3: #22C55E;--level-4: #8B5CF6;--dim-c: #3B82F6;--dim-e: #22C55E;--dim-r: #F59E0B;--alert-critical: #EF4444;--alert-critical-bg: #FEF2F2;--alert-warning: #F59E0B;--alert-warning-bg: #FFFBEB;--alert-info: #3B82F6;--alert-info-bg: #EFF6FF;--alert-success: #22C55E;--alert-success-bg: #F0FDF4;--alert-neutral: #64748B;--alert-neutral-bg: #F1F5F9;--alert-ai: #8B5CF6;--alert-ai-bg: #FAF5FF;--cite-data-bg: #E3F2FD;--cite-data-text: #1565C0;--cite-guide-bg: #E8F5E9;--cite-guide-text: #2E7D32;--cite-feed-bg: #FFF3E0;--cite-feed-text: #E65100;--pdf-region-handle: 10px;--worksheet-concept-menu-width: 200px;--worksheet-concept-chip-height: 30px;--worksheet-concept-chip-leading: 1.4;--worksheet-concept-menu-max-height: 220px;--worksheet-concept-chip-border: #DADCE0;--sidebar-width: 220px;--sidebar-collapsed: 60px;--header-height: 52px;--panel-width: 360px;--content-max: 900px;--input-width-sm: 80px;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 40px;--space-3xl: 48px;--orb-listening-rgb: 124, 111, 168;--orb-speaking-rgb: 217, 48, 37;--havruta-bg1: #0D0D16;--havruta-bg2: #13102A;--havruta-bg3: #1A0A1A;--havruta-wrap2: #2A1040;--havruta-bezel1: #1C1C1E;--havruta-bezel2: #3A3A3C;--havruta-white: #FFF;--havruta-orb-calm1: #C0B2E8;--havruta-orb-calm2: #7C6FA8;--havruta-orb-calm3: #574C86;--havruta-orb-live1: #FF9384;--havruta-orb-live2: #F0466E;--havruta-orb-live3: #D93025;--havruta-w08: rgb(255 255 255 / .08);--havruta-w10: rgb(255 255 255 / .1);--havruta-w12: rgb(255 255 255 / .12);--havruta-w14: rgb(255 255 255 / .14);--havruta-w16: rgb(255 255 255 / .16);--havruta-w20: rgb(255 255 255 / .2);--havruta-w22: rgb(255 255 255 / .22);--havruta-w25: rgb(255 255 255 / .25);--havruta-w35: rgb(255 255 255 / .35);--havruta-w40: rgb(255 255 255 / .4);--havruta-w50: rgb(255 255 255 / .5);--havruta-w55: rgb(255 255 255 / .55);--havruta-w60: rgb(255 255 255 / .6);--havruta-w72: rgb(255 255 255 / .72);--havruta-w85: rgb(255 255 255 / .85);--havruta-orb-current: rgb(var(--orb-listening-rgb), .95);--havruta-scrim: rgb(0 0 0 / .42);--havruta-keyword-size: 40px;--havruta-preparing-size: 20px;--ai-purple: #7C6FA8;--ai-purple-bg: #FBFAFD;--ai-purple-border: #E4DFF0;--proposal-bg: #FFF4E0;--proposal-border: #F2D58A;--proposal-text: #6B4A04;--mention-bg: #E8F0FE;--radius-sm: 8px;--radius-md: 12px;--radius-full: 9999px;--scrim: rgba(32, 33, 36, .45);--shadow-xs: 0 1px 2px rgba(60,64,67,.15);--shadow-sm: 0 1px 2px rgba(60,64,67,.2), 0 1px 3px rgba(60,64,67,.1);--shadow-md: 0 1px 3px rgba(60,64,67,.2), 0 4px 8px rgba(60,64,67,.1);--shadow-lg: 0 2px 6px rgba(60,64,67,.15), 0 8px 24px rgba(60,64,67,.12);--transition-fast: .12s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-spring: .4s cubic-bezier(.175, .885, .32, 1.275);--text-2xs: 11px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-md: 18px;--text-lg: 22px;--text-xl: 24px;--text-nav: 22px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65;--font-display: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-body: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-content: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-heading: var(--font-display);--font-handwriting: "Caveat", "Bradley Hand", "Segoe Print", cursive;--pen: #E5397F;--pen-amber: #b45309;--pen-red: #dc2626;--pen-teal: #0d9488;--pen-blue: #2563eb;--pen-purple: #7c3aed;--btn-primary-bg: var(--brand);--btn-primary-text: var(--text-on-brand);--btn-primary-hover: var(--brand-hover);--btn-secondary-bg: #FFFFFF;--btn-secondary-text: var(--text-secondary);--btn-secondary-border: var(--border-card);--btn-secondary-hover: #F1F3F4;--text-primary: var(--text);--text-tertiary: #80868B;--bg-app: var(--bg-warm);--bg-card: var(--card);--border-card: #DADCE0;--avatar-default: #80868B;--color-wall-bg: #fbf7ec;--color-card-bg: #fffdf8;--color-error-text: #a33;--color-error-bg: #FEE2E2;--color-success-text: #15803D;--color-warning-text: #B45309;--color-info-text: #1D4ED8;--color-code-bg: #f7f5ef;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 800;--z-modal: 1000;--z-toast: 2000;--z-tooltip: 3000;--opacity-disabled: .5;--opacity-muted: .6;--opacity-faint: .3;--opacity-hover-overlay: .08;--focus-ring-brand: 0 0 0 2px var(--brand), 0 0 0 4px rgba(240, 70, 110, .2);--lib-bg: #151B24;--lib-surface: #1F2833;--lib-surface-2: #28323F;--lib-line: #33404F;--lib-text: #F3F5F7;--lib-text-2: #B9C2CC;--lib-muted: #7C8794;--lib-accent-warm: #E8A13A;--lib-paper: #F7F2E8;--lib-paper-ink: #26221A}:root{--accent-ink: #8A6D00;--app-max-width: 480px;--camera-direction: 1;--camera-duration: 0ms;--camera-pan-duration: 0ms;--on-primary: var(--text-on-brand);--playback-dot-size: 10px;--playback-dot-target: 30px;--playback-head-size: 14px;--playback-icon-size: 28px;--playback-overlay-line: rgb(255 255 255 / 25%);--playback-overlay-z: 800;--playback-skip-label: 8px;--playback-stage-ratio: 16 / 10;--playback-track-size: 3px;--primary: var(--brand);--primary-weak: var(--brand-light);--radius-lg: 16px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--scrim-cap: rgba(0,0,0,.6);--tap-min: 44px;--worksheet-dot-size: 6px;--worksheet-sheet-max-height: 92dvh;--worksheet-viewer-bg: #111111;--z-raised: 2}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg);color:var(--text);height:100vh;overflow:hidden;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:transparent}input,textarea,select{font-family:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}.lucide{width:18px;height:18px;stroke-width:2}:focus-visible{outline:2px solid var(--btn-primary-bg);outline-offset:2px;border-radius:var(--radius-sm)}.skip-nav{position:absolute;left:-9999px;z-index:100;padding:var(--space-sm) var(--space-md);background:var(--brand);color:#fff;border-radius:var(--radius-md);font-weight:var(--weight-semibold)}.skip-nav:focus{left:var(--space-md);top:var(--space-md)}@font-face{font-family:Caveat;src:url(/fonts/Caveat-Latin.woff2) format("woff2");font-weight:400 700;font-display:block;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212}html{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--text)}button,input,textarea,select{font-family:inherit}h1,.page-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--text)}h2,.section-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text)}h3,.card-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-normal);color:var(--text)}.body-text{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);color:var(--text-secondary)}.meta-text{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted)}.label-text{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.text-link{font-weight:var(--weight-medium);color:var(--brand);cursor:pointer;text-decoration:none}.text-link:hover{text-decoration:underline}.handwriting{font-family:var(--font-handwriting);font-size:var(--text-md);font-weight:var(--weight-normal);font-style:italic}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 16px;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);min-height:36px;cursor:pointer;transition:all var(--transition-fast)}.btn:disabled{opacity:.5;pointer-events:none}.btn-sm{font-size:var(--text-sm);padding:6px 12px;min-height:30px}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.btn-primary:hover{background:var(--btn-primary-hover)}.btn-outline{background:transparent;color:var(--text-secondary);border:1px solid var(--border-card)}.btn-outline:hover{background:var(--bg-hover)}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover)}.btn-ghost{background:transparent;color:var(--text-muted);padding:6px 12px}.btn-ghost:hover{background:var(--bg-hover);color:var(--text)}.btn-danger{background:var(--alert-critical);color:#fff}.btn-danger:hover{opacity:.9}.btn .lucide{width:16px;height:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg)}.badge{display:inline-flex;align-items:center;padding:var(--space-2xs) 8px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-bold)}.insight-card{position:relative;background:var(--bg-paper);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);padding-left:calc(var(--space-md) + 8px)}.insight-card:before{content:"";position:absolute;left:0;top:var(--space-md);bottom:var(--space-md);width:3px;border-radius:3px;background:var(--insight-accent, var(--btn-primary-bg))}.insight-card--critical{--insight-accent: var(--alert-critical)}.insight-card--warning{--insight-accent: var(--alert-warning)}.insight-card--info{--insight-accent: var(--alert-info)}.insight-card--success{--insight-accent: var(--alert-success)}.insight-card--neutral{--insight-accent: var(--alert-neutral)}.insight-card--ai{--insight-accent: var(--alert-ai)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-enter{animation:fadeUp .2s ease both;animation-delay:calc(var(--index) * 50ms)}@media(prefers-reduced-motion:reduce){.card-enter{animation:none;opacity:1;transform:none}}@keyframes sparky-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}@media(prefers-reduced-motion:reduce){.sparky-generating svg{animation:none!important}}.toggle{position:relative;display:inline-block;cursor:pointer}.toggle input{display:none}.toggle-track{display:block;width:36px;height:20px;background:var(--border);border-radius:var(--radius-full);transition:background var(--transition-fast);position:relative}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform var(--transition-fast)}.toggle input:checked+.toggle-track{background:var(--btn-primary-bg)}.toggle input:checked+.toggle-track:after{transform:translate(16px)}.ui-page-head{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--space-xl)}.ui-title{margin:0;font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--text)}.ui-section-title{margin:0;font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--text)}.ui-body{font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal)}.ui-meta,.ui-page-head__meta{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--text-secondary)}.ui-caption{font-size:var(--text-xs);font-weight:var(--weight-normal)}.ui-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text)}.ui-page-head__actions,.ui-section-head__actions{margin-left:auto;display:flex;gap:var(--space-sm)}.ui-section-head{display:flex;align-items:center;gap:var(--space-sm)}.ui-field{display:flex;flex-direction:column;gap:var(--space-sm)}.ui-button,.ui-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);height:var(--space-xl);padding:0 var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;border:var(--border-thin) solid transparent;cursor:pointer;transition:background var(--transition-fast)}.ui-button--primary{background:var(--brand);color:var(--text-on-brand);border-color:var(--brand)}.ui-button--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.ui-button--secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border)}.ui-button--secondary:hover{background:var(--btn-secondary-hover)}.ui-icon-button{width:var(--space-xl);padding:0;background:transparent;color:var(--text-secondary)}.ui-icon-button:hover{background:var(--bg-hover)}.ui-button svg,.ui-icon-button svg{width:var(--text-base);height:var(--text-base)}.ui-button:disabled,.ui-icon-button:disabled{opacity:.5;cursor:not-allowed}.ui-input{width:100%;height:var(--space-xl);padding:0 var(--space-sm);border:var(--border-thin) solid var(--border-card);border-radius:var(--radius-sm);background:var(--bg-paper);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal)}.ui-input::placeholder{color:var(--text-placeholder)}textarea.ui-input{height:auto;min-height:calc(var(--space-xl) * 3);padding:var(--space-sm);resize:vertical}.ui-tabs{display:flex;gap:var(--space-md);border-bottom:var(--border-thin) solid var(--border)}.ui-tab{display:inline-flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-xs) var(--space-sm);margin-bottom:calc(-1 * var(--border-thin));background:transparent;border:none;border-bottom:calc(var(--border-thin) * 2) solid transparent;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);white-space:nowrap;cursor:pointer}.ui-tab:hover{color:var(--text)}.ui-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--text)}.ui-badge{display:inline-flex;align-items:center;justify-content:center;min-width:var(--space-lg);padding:0 var(--space-sm);border-radius:var(--radius-full);background:var(--bg-warm);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-normal)}.ui-tab[aria-selected=true] .ui-badge{background:var(--bg-paper);color:var(--brand-dark)}.ui-card{background:var(--card);border:var(--border-thin) solid var(--border-card);border-radius:var(--radius-sm);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md);box-shadow:none}.ui-card--selected{border-color:var(--brand);background:var(--brand-light)}.ui-card--tap{text-align:left;cursor:pointer}.ui-card--tap:hover{background:var(--bg-hover)}.ui-list{display:flex;flex-direction:column;margin:0 calc(-1 * var(--space-md)) calc(-1 * var(--space-md))}.ui-list__row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--text-base);font-weight:var(--weight-normal);border-top:var(--border-thin) solid var(--border-light);width:100%;text-align:left}.ui-list__row:hover{background:var(--bg-hover)}.ui-list__row[aria-selected=true]{background:var(--brand-light)}.ui-list__grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-list__order{width:var(--space-lg);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:center}.ui-list__more{color:var(--text-secondary);display:inline-flex;width:var(--space-lg);justify-content:center}.ui-chip{display:inline-flex;align-items:center;padding:0 var(--space-sm);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-normal);background:var(--bg-warm);color:var(--text-secondary)}.ui-chip--ok{background:var(--alert-success-bg);color:var(--color-success-text)}.ui-chip--wait{background:var(--alert-warning-bg);color:var(--color-warning-text)}.ui-chip--info{background:var(--brand-light);color:var(--brand-dark)}.ui-table-wrap{background:var(--card);border:var(--border-thin) solid var(--border-card);border-radius:var(--radius-sm);overflow:hidden}.ui-table{border-collapse:collapse;width:100%}.ui-table th{text-align:left;padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);background:var(--card);border-bottom:var(--border-thin) solid var(--border);white-space:nowrap}.ui-table td{padding:var(--space-sm) var(--space-md);font-size:var(--text-base);font-weight:var(--weight-normal);border-top:var(--border-thin) solid var(--border-light);vertical-align:middle;white-space:nowrap}.ui-table td.ui-table__meta{font-size:var(--text-sm);color:var(--text-secondary)}.ui-table td:first-child{white-space:normal}.ui-table tr:hover td{background:var(--bg-hover)}.ui-avatar{width:var(--space-xl);height:var(--space-xl);border-radius:var(--radius-full);background:var(--avatar-default);color:var(--text-on-brand);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);flex:none}.ProseMirror{position:relative}.ProseMirror{word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror [draggable][contenteditable=false]{-webkit-user-select:text;user-select:text}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;inset:-2px -2px -2px -32px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.bbox-marker{display:none!important}.print-page .bbox-marker{display:block!important;font-size:8px;line-height:1;color:transparent;-webkit-text-fill-color:transparent;margin:0;padding:0;-webkit-user-select:none;user-select:none;pointer-events:none}input[type=range]{accent-color:var(--btn-primary-bg)}.ProseMirror .ProseMirror-selectednode{outline:none!important}.ProseMirror:focus,.ProseMirror:focus-visible{outline:none}.ProseMirror div[style*=z-index] img[src*=materialsymbol],.ProseMirror div[style*="z-index: 999"]{display:none!important}:root{--bg-main: var(--bg);--bg-desk: var(--bg-warm);--bg-elevated: var(--bg-paper);--bg-sidebar: var(--sidebar-bg);--bg-sidebar-hover: var(--sidebar-bg-hover);--text-primary: var(--text);--accent-teal: var(--brand);--accent-teal-light: var(--brand-light);--accent-teal-dark: var(--brand-dark);--accent-teal-hover: var(--brand-hover);--accent-coral: #E8725A;--accent-coral-light: #FFE8E3;--accent-coral-dark: #C4503A;--accent-gold: #FFCB05;--accent-gold-light: #FFF8E0;--accent-gold-dark: #D4A800;--sidebar-text-compat: var(--sidebar-text);--sidebar-text-hover: var(--text);--sidebar-text-active: var(--sidebar-text-active);--sidebar-item-hover: var(--sidebar-bg-hover);--sidebar-item-active: var(--sidebar-bg-active);--sidebar-divider-compat: var(--sidebar-divider);--sidebar-badge-bg: var(--brand);--color-success: var(--alert-success);--color-success-light: var(--alert-success-bg);--color-warning: var(--alert-warning);--color-warning-light: var(--alert-warning-bg);--color-error: var(--alert-critical);--color-error-light: var(--alert-critical-bg);--color-info: var(--alert-info);--color-info-light: var(--alert-info-bg);--level-emerging: #8b5cf6;--level-emerging-light: #f5f3ff;--level-developing: #E0A030;--level-developing-light: #FFF4E6;--level-proficient: #3B82F6;--level-proficient-light: #EBF0FF;--level-advanced: #22C55E;--level-advanced-light: #E8F9EE;--line-rule: #D4D0C8;--line-focus: #00274C;--line-dashed: #C5C0B8;--border-default: var(--border);--border-strong: #D4D0C8;--border-input: #D4D0C8;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: var(--weight-normal);--font-weight-medium: var(--weight-medium);--font-weight-semibold: var(--weight-semibold);--font-weight-bold: var(--weight-bold);--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-answer: 28px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--sidebar-collapsed-width: var(--sidebar-collapsed);--panel-min-ratio: .3;--panel-max-ratio: .7;--shadow-button: 0 2px 0 var(--btn-primary-hover), 0 4px 8px rgb(68, 64, 60, .12);--focus-ring: 0 0 0 2px var(--btn-primary-bg), 0 0 0 4px rgb(68, 64, 60, .2);--touch-min: 48px;--touch-recommended: 56px;--bp-mobile: 768px;--bp-tablet: 1024px;--bp-desktop: 1440px}#root{height:100vh;overflow:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:transparent;border-radius:10px}*:hover>::-webkit-scrollbar-thumb,:hover::-webkit-scrollbar-thumb{background:#0000001f}::-webkit-scrollbar-thumb:hover{background:#00000040}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@page{margin:10mm;@top-left{content:none}@top-right{content:none}@bottom-left{content:none}@bottom-right{content:none}}@page{size:letter;margin:1.5in 0 .5in;@bottom-right{content:counter(page) " / " counter(pages);font-family:var(--font-display);font-size:11pt;font-weight:700;color:#111;margin-right:.83in}}[class*=a4Page]{width:816px!important;max-width:816px!important;padding:72px 78px 60px!important;margin:24px auto!important;background:#fff!important;border:1px solid #e5e5e5!important;box-shadow:0 1px 3px #00000014!important}@media print{[class*=a4Page]{padding:0 78px!important;margin:0 auto!important;border:none!important;box-shadow:none!important}}[class*=a4Page] .ProseMirror,[class*=a4Page] .tiptap,[class*=a4Page] .ProseMirror p,[class*=a4Page] .tiptap p{font-size:14.67px!important;line-height:1.5!important}[class*=a4Page] .ProseMirror h1{font-size:24px!important;line-height:1.3!important}[class*=a4Page] .ProseMirror h2{font-size:20px!important;line-height:1.3!important}[class*=a4Page] .ProseMirror h3{font-size:17.33px!important;line-height:1.4!important}[class*=a4Page] .ProseMirror h4{font-size:14.67px!important;line-height:1.4!important}.ProseMirror-gapcursor:after{border-top:2px solid var(--btn-primary-bg)!important;width:60%!important}.drawing-print-box{display:none}@media print{.drawing-screen-only,.drawing-screen-only *{display:none!important;visibility:hidden!important;height:0!important;width:0!important;max-height:0!important;overflow:hidden!important}.drawing-print-box{display:block!important;width:100%!important;height:5in!important;border:1.5px solid #444!important;border-radius:4px!important;background:#fff!important}.drawing-response{border:none!important}[class*=a4Page] canvas{display:none!important}}[class*=a4Page] canvas{max-width:100%!important;height:auto!important}@media print{header[role=banner],.sidebar,.sidebar--mobile,.sidebar__backdrop,.ai-panel,[class*=sidebar],[class*=ai-panel],[class*=unifiedBar],[class*=PageNavigator]{display:none!important}#root{height:auto!important;overflow:visible!important}[class*=worksheetView]{max-width:none!important;width:100%!important;padding-left:0!important;padding-right:0!important;font-size:85%!important}[class*=a4Page]{border:none!important;background:#fff!important}.ProseMirror{padding:0!important;border:none!important;box-shadow:none!important}.ProseMirror div[data-page-break],.ProseMirror .page-break-gap{height:0!important;margin:0!important;padding:0!important;border:none!important;background:none!important;visibility:hidden;break-after:page}.ProseMirror div[data-page-break]:after{display:none!important}.ProseMirror img{max-width:100%!important;break-inside:avoid}.ProseMirror table{break-inside:avoid}}
