:root{--font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-xs-sm: .8125rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.3;--line-height-normal: 1.5;--line-height-relaxed: 1.6;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-base: 1rem;--space-lg: 1.25rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-pill: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--sidebar-width: 0px;--sidebar-collapsed-width: 70px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.6rem 1.4rem;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:inherit;cursor:pointer;text-decoration:none;transition:background-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn--primary{background-color:var(--color-cta-bg);color:var(--color-cta-text)}.btn--primary:hover:not(:disabled){background-color:var(--color-cta-hover);color:var(--color-cta-text);transform:translateY(-1px)}.btn--primary:disabled{background-color:var(--color-border-default)}.btn--primary-gradient{background:var(--gradient-accent);color:var(--color-cta-text);box-shadow:var(--shadow-md)}.btn--primary-gradient:hover:not(:disabled){color:var(--color-cta-text);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn--secondary{background-color:var(--color-accent);color:var(--color-cta-text);box-shadow:var(--shadow-sm)}.btn--secondary:hover:not(:disabled){background-color:var(--color-accent-hover);color:var(--color-cta-text);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--danger{background-color:var(--color-red);color:var(--color-cta-text)}.btn--danger:hover:not(:disabled){background-color:var(--color-red-hover);color:var(--color-cta-text);transform:translateY(-1px)}.btn--ghost{background-color:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);color:var(--color-text-tertiary)}.btn--ghost:hover:not(:disabled){background-color:var(--color-bg-elevated-hover)}.btn--outline{background:transparent;border:1px solid var(--color-border-default);color:var(--color-text-tertiary)}.btn--outline:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-1px)}.btn--purple{background-color:var(--color-purple);color:var(--color-cta-text);box-shadow:var(--shadow-md)}.btn--purple:hover:not(:disabled){background-color:var(--color-purple-hover);color:var(--color-cta-text);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn--sm{padding:.4rem .85rem;font-size:.8rem}.btn--lg{padding:.875rem 2rem;font-size:var(--font-size-base);border-radius:var(--radius-lg)}.btn--xl{padding:1rem 2.5rem;font-size:var(--font-size-md);border-radius:var(--radius-lg)}.btn--full{width:100%}.modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-overlay);z-index:1000;padding:var(--space-base)}.modal-overlay--blur{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--color-bg-overlay-heavy)}.modal-panel{display:flex;flex-direction:column;gap:var(--space-base);width:100%;max-width:28rem;padding:var(--space-xl);background-color:var(--color-bg-secondary);border:1px solid var(--color-border-muted);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:var(--color-text-primary)}.modal-panel--wide{max-width:36rem}.modal-panel--gradient{background:var(--color-bg-overlay-heavy);border-color:var(--color-accent-border);box-shadow:var(--shadow-modal);padding:var(--space-2xl);border-radius:var(--radius-xl)}.modal-title{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.modal-title--lg{font-size:var(--font-size-xl)}.modal-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-normal)}.modal-text strong{color:var(--color-text-primary)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-md);padding-top:var(--space-sm)}.modal-form{display:flex;flex-direction:column;gap:var(--space-lg)}.modal-field{display:flex;flex-direction:column;gap:var(--space-sm)}.modal-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin:0}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.card--interactive{display:flex;flex-direction:column;gap:var(--space-base);transition:background-color var(--transition-slow),border-color var(--transition-slow),transform var(--transition-slow),box-shadow var(--transition-slow)}.card--interactive:hover{transform:translateY(-4px);border-color:var(--color-accent-border);box-shadow:var(--shadow-lg);background:var(--color-bg-elevated-hover)}.card--section{background:var(--color-bg-overlay-heavy);border-color:var(--color-border-faint);border-radius:var(--radius-2xl);padding:var(--space-2xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-xl)}.card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-base)}.card__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-sm) 0;color:var(--color-text-primary);line-height:var(--line-height-tight)}.card__meta{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.card__description{color:var(--color-text-tertiary);line-height:var(--line-height-relaxed);margin:0;flex:1}.card__footer{display:flex;justify-content:flex-end;padding-top:var(--space-sm);border-top:1px solid var(--color-border-muted)}.input{width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:inherit;outline:none;box-sizing:border-box;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.input::placeholder{color:var(--color-text-dim)}.input[aria-invalid=true]{border-color:var(--color-red-light);box-shadow:0 0 0 3px rgb(var(--color-red-rgb) / .3)}.input--accent{border-color:var(--color-accent-border);background:var(--color-bg-overlay-heavy);border-radius:var(--radius-lg)}.select{width:100%;padding:.55rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:inherit;outline:none;cursor:pointer;box-sizing:border-box;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.select option{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:var(--space-sm)}.textarea{width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--color-border-default);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:inherit;outline:none;resize:vertical;min-height:120px;box-sizing:border-box;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-ring)}.textarea::placeholder{color:var(--color-text-dim)}.form-field{display:flex;flex-direction:column;gap:var(--space-sm)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.form-hint{font-size:.8rem;color:var(--color-text-dim)}.form-error{font-size:.85rem;color:var(--color-red-light);font-weight:var(--font-weight-medium);margin:0}.banner{margin:0;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.8125rem;line-height:1.4}.banner--error{background-color:rgb(var(--color-red-rgb) / .1);border:1px solid rgb(var(--color-red-rgb) / .3);color:var(--color-red-lighter)}.banner--success{background-color:rgb(var(--color-green-rgb) / .1);border:1px solid rgb(var(--color-green-rgb) / .3);color:var(--color-green-light)}.banner--info{background-color:rgb(var(--color-blue-rgb) / .15);border:1px solid rgb(var(--color-blue-rgb) / .3);color:var(--color-accent)}.banner--lg{padding:1rem 1.25rem;border-radius:var(--radius-lg);font-size:.95rem;font-weight:var(--font-weight-medium)}.page-shell{position:fixed;top:0;left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));height:100%;background:var(--gradient-page);color:var(--color-text-primary);overflow:hidden;transition:left var(--transition-base),width var(--transition-base)}.educator-layout.collapsed .page-shell{left:var(--sidebar-collapsed-width);width:calc(100% - var(--sidebar-collapsed-width))}.page-inner{position:relative;height:100%;width:100%;padding:var(--space-2xl) var(--space-3xl);box-sizing:border-box;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-xl)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2xl)}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-xs) 0;color:var(--color-text-primary)}.page-subtitle{color:var(--color-text-tertiary);max-width:38rem;line-height:var(--line-height-normal);margin:0}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.badge--green{background-color:rgb(var(--color-green-rgb) / .1);color:var(--color-green);border:1px solid rgb(var(--color-green-rgb) / .3)}.badge--blue{background-color:rgb(var(--color-blue-rgb) / .15);color:var(--color-blue);border:1px solid rgb(var(--color-blue-rgb) / .3)}.badge--purple{background-color:rgb(var(--color-purple-rgb) / .15);color:var(--color-purple);border:1px solid rgb(var(--color-purple-rgb) / .3)}.badge--pill{border-radius:var(--radius-pill)}.empty-state{text-align:center;padding:4rem;color:var(--color-text-muted);font-size:var(--font-size-base)}.empty-state p{margin:0}.pagination{display:flex;flex-direction:column;gap:var(--space-base);padding:var(--space-xl) 0;border-top:1px solid var(--color-border-muted);margin-top:var(--space-base)}.pagination__info{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.pagination__controls{display:flex;justify-content:space-between;align-items:center;gap:var(--space-xl);flex-wrap:wrap}.pagination__buttons{display:flex;align-items:center;gap:var(--space-xs);margin:0 auto}.pagination__btn{min-width:2.25rem;height:2.25rem;padding:.375rem .625rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-default);background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--transition-base),border-color var(--transition-base)}.pagination__btn:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-text-dim)}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--active{background-color:var(--color-blue);border-color:var(--color-blue);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.pagination__btn--active:hover{background-color:var(--color-blue-hover);border-color:var(--color-blue-hover)}.pagination__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;color:var(--color-text-muted);font-size:var(--font-size-sm)}@media(max-width:1024px){.page-inner{padding:var(--space-xl)}.page-header{flex-direction:column;align-items:stretch}}:root{font-family:var(--font-family);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}a{font-weight:var(--font-weight-medium);color:var(--color-accent);text-decoration:inherit}a:hover{color:var(--color-accent-hover)}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}body{margin:0;min-height:100vh;width:100%;background-color:inherit;overflow-wrap:break-word}button{border-radius:var(--radius-md);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:var(--font-weight-medium);font-family:inherit;background-color:var(--color-bg-secondary);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-accent)}button:focus{outline:none}button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(forced-colors:active){a:focus-visible,button:focus-visible{outline-color:CanvasText}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-wrap-anywhere{overflow-wrap:anywhere;word-break:break-word}.podroom-pulse{position:relative;display:inline-block;width:var(--pulse-size, 14px);height:var(--pulse-size, 14px);border-radius:999px;background:var(--color-accent);flex-shrink:0}.podroom-pulse:before{content:"";position:absolute;inset:0;border-radius:999px;background:var(--color-accent);opacity:.6;animation:podroom-pulse-ring 2.4s infinite ease-out}@keyframes podroom-pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(2.2);opacity:0}}@media(prefers-reduced-motion:reduce){.podroom-pulse:before{animation:none;opacity:0}}.educator-layout{--sidebar-width: 240px;height:100%;width:100%;background:var(--color-bg-primary);color:var(--color-text-primary);overflow:hidden}.educator-layout.collapsed{--sidebar-width: 70px}.educator-sidebar{position:fixed;top:0;left:0;height:100%;width:240px;background-color:var(--color-bg-sidebar);border-right:1px solid var(--color-border-muted);display:flex;flex-direction:column;justify-content:space-between;transition:width .2s linear;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--space-base) 0;box-sizing:border-box;box-shadow:var(--shadow-md);z-index:50}.educator-layout.collapsed .educator-sidebar{width:70px}.educator-layout.collapsed .sidebar__header{padding:0 var(--space-md)}.educator-layout.collapsed .sidebar__nav{padding:0 var(--space-sm)}.educator-layout.collapsed .sidebar__link{justify-content:center;padding:10px}.educator-layout.collapsed .sidebar__bottom{padding:0 var(--space-sm)}.educator-layout.collapsed .sidebar__user{justify-content:center}.educator-layout.collapsed .sidebar__avatar{width:36px;height:36px}.educator-main{position:relative;height:100vh;margin-left:240px;width:calc(100vw - 240px);overflow-y:auto;overflow-x:hidden;background:var(--gradient-page);transition:margin-left .2s linear;padding:var(--space-2xl) var(--space-3xl);box-sizing:border-box}.educator-layout.collapsed .educator-main{margin-left:70px;width:calc(100vw - 70px)}.educator-content{margin-top:var(--space-2xl)}.sidebar__header{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0 var(--space-base);margin-bottom:var(--space-2xl);width:100%;box-sizing:border-box}.educator-layout:not(.collapsed) .sidebar__header{justify-content:space-between}.sidebar__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.sidebar__toggle{background:none;border:none;outline:none;color:var(--color-text-tertiary);cursor:pointer;transition:color .2s linear}.sidebar__toggle:focus,.sidebar__toggle:focus-visible{outline:none}.sidebar__toggle:hover{background-color:var(--color-bg-elevated-hover);color:var(--color-text-primary)}.sidebar__nav{display:flex;flex-direction:column;gap:var(--space-base);padding:0 var(--space-md);flex:1 1 0;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border-muted) transparent}.sidebar__nav::-webkit-scrollbar{width:4px}.sidebar__nav::-webkit-scrollbar-track{background:transparent}.sidebar__nav::-webkit-scrollbar-thumb{background:var(--color-border-muted);border-radius:var(--radius-pill)}.sidebar__link{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text-tertiary);text-decoration:none;outline:none;padding:var(--space-md) var(--space-base);border-radius:var(--radius-md);transition:background-color .2s linear,color .2s linear}.sidebar__link:focus,.sidebar__link:focus-visible{outline:none}.sidebar__link:hover{background-color:var(--color-bg-elevated);color:var(--color-text-primary)}.sidebar__link.active{background-color:var(--color-accent-ring);color:var(--color-accent)}.sidebar__bottom{flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-md);padding:0 var(--space-base)}.sidebar__user{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text-secondary)}.sidebar__avatar{width:36px;height:36px;border-radius:var(--radius-pill);background:var(--color-border-faint);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.sidebar__user-info{display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar__user-name{font-weight:var(--font-weight-semibold)}.sidebar__user-role{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.sidebar__preferences{display:flex;flex-direction:column}.sidebar__preferences-toggle{display:flex;align-items:center;gap:var(--space-md);width:100%;background:none;border:none;outline:none;padding:10px 0;color:var(--color-text-tertiary);font:inherit;text-align:left;cursor:pointer;transition:color .2s linear}.sidebar__preferences-toggle:focus,.sidebar__preferences-toggle:focus-visible{outline:none}.sidebar__preferences-toggle:hover{color:var(--color-text-primary)}.sidebar__preferences-toggle-label{flex:1}.sidebar__preferences-content{display:flex;flex-direction:column;gap:var(--space-xs);padding-bottom:var(--space-xs)}.sidebar__theme{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text-tertiary);padding:var(--space-sm) 0}.sidebar__theme-swatch{width:24px;height:24px;border-radius:var(--radius-md);border:2px solid var(--color-border-default);outline:none;cursor:pointer;padding:0;transition:border-color var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.sidebar__theme-swatch:focus,.sidebar__theme-swatch:focus-visible{outline:none}.sidebar__theme-swatch:hover{border-color:var(--color-text-muted);transform:scale(1.15)}.sidebar__theme-swatch--active{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-ring)}.educator-layout.collapsed .sidebar__theme{justify-content:center;padding:var(--space-sm) 0}.sidebar__text-size{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text-tertiary);padding:var(--space-sm) 0}.sidebar__text-size-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-md);border:1px solid var(--color-border-default);outline:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;padding:0;transition:border-color var(--transition-base),background-color var(--transition-base),color var(--transition-base)}.sidebar__text-size-btn:focus,.sidebar__text-size-btn:focus-visible{outline:none}.sidebar__text-size-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-muted)}.sidebar__text-size-btn:disabled{opacity:.3;cursor:not-allowed}.sidebar__text-size-label{font-size:.8rem;color:var(--color-text-muted);min-width:48px;text-align:center}.educator-layout.collapsed .sidebar__text-size{justify-content:center;padding:var(--space-sm) 0}.sidebar__logout{display:flex;align-items:center;gap:var(--space-md);border:1px solid rgb(var(--color-red-light-rgb) / .4);outline:none;background:rgb(var(--color-red-rgb) / .1);color:var(--color-red-lighter);padding:var(--space-md) var(--space-base);border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s linear,border-color .2s linear}.sidebar__logout:focus,.sidebar__logout:focus-visible{outline:none}.sidebar__logout:hover{background:rgb(var(--color-red-light-rgb) / .15);border-color:rgb(var(--color-red-light-rgb) / .4)}.educator-layout.collapsed .sidebar__logout{justify-content:center;padding:10px}.educator-layout.collapsed .sidebar__logout span{display:none}.error-fallback{text-align:center}.error-fallback--page{padding:var(--space-2xl);max-width:600px;margin:0 auto}.error-fallback--compact{padding:var(--space-2xl)}.error-fallback__title{color:var(--color-red);margin-bottom:var(--space-base)}.error-fallback__message{color:var(--color-text-tertiary);margin-bottom:var(--space-xl)}.error-fallback__message--compact{color:var(--color-red);margin-bottom:var(--space-sm)}.error-fallback__button{background-color:var(--color-accent);color:var(--color-accent-contrast);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:background-color var(--transition-base)}.error-fallback__button:hover{background-color:var(--color-accent-hover)}.error-fallback__details{margin-top:var(--space-2xl);text-align:left}.error-fallback__details summary{cursor:pointer;font-weight:var(--font-weight-bold)}.error-fallback__details-pre{margin-top:var(--space-base);padding:var(--space-base);background-color:var(--color-bg-elevated);border-radius:var(--radius-xs);overflow:auto;font-size:var(--font-size-sm)}#root{width:100%;min-height:100vh;margin:0;padding:0}.duplicate-toast-container{position:fixed;top:var(--space-xl);right:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-base);z-index:1100}.duplicate-toast{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-xl);min-width:320px;max-width:420px;padding:var(--space-base) var(--space-lg);background:var(--color-bg-overlay-heavy);color:var(--color-text-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--color-border-faint-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.duplicate-toast__body{display:flex;flex-direction:column;gap:var(--space-sm)}.duplicate-toast__title{margin:0;font-size:.95rem;font-weight:var(--font-weight-semibold);letter-spacing:.01em;color:var(--color-text-secondary)}.duplicate-toast__message{margin:0;font-size:.9rem;line-height:1.4}.duplicate-toast__highlight{font-weight:var(--font-weight-semibold);color:var(--color-accent)}.duplicate-toast__timestamp{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.duplicate-toast__close{appearance:none;border:none;background:transparent;color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:1;cursor:pointer;padding:var(--space-xs);margin:0;border-radius:var(--radius-pill);transition:background var(--transition-base)}.duplicate-toast__close:hover,.duplicate-toast__close:focus{background:var(--color-bg-elevated-hover);outline:none}@media(max-width:640px){.duplicate-toast-container{left:var(--space-md);right:var(--space-md);top:auto;bottom:var(--space-base)}.duplicate-toast{width:100%;max-width:none}}.app-splash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#f5f5f5;color-scheme:light dark;z-index:99999}@media(prefers-color-scheme:dark){.app-splash{background:#1a1a1a}}.app-splash__spinner{width:40px;height:40px;border:3px solid rgba(0,0,0,.1);border-top-color:#6366f1;border-radius:50%;animation:app-splash-spin .8s linear infinite}@media(prefers-color-scheme:dark){.app-splash__spinner{border-color:#ffffff26;border-top-color:#818cf8}}@keyframes app-splash-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.app-splash__spinner{animation:none;border-top-color:transparent;background:radial-gradient(circle,currentColor 30%,transparent 32%);color:#6366f1}}
