@layer math-editor, theme, base, pakleap-ui, components, utilities;:root{--pl-shadow-sm:var(--shadow-sm,0 1px 2px color-mix(in srgb,var(--color-text-main) 10%,transparent));--pl-shadow-md:0 4px 6px -1px color-mix(in srgb,var(--color-text-main) 12%,transparent),0 2px 4px -2px color-mix(in srgb,var(--color-text-main) 12%,transparent);--pl-shadow-modal:var(--shadow-modal,0 20px 25px -5px color-mix(in srgb,var(--color-text-main) 18%,transparent));--pl-surface-muted:color-mix(in srgb,var(--color-surface) 96%,var(--color-text-main));--pl-hover-muted:color-mix(in srgb,var(--color-surface) 92%,var(--color-text-main));--pl-skeleton:color-mix(in srgb,var(--color-surface) 85%,var(--color-text-main));--pl-danger:var(--status-danger);--pl-danger-strong:color-mix(in srgb,var(--status-danger) 85%,var(--color-text-main));--pl-page-pad:0.5rem;--pl-page-pad-md:0.75rem;--pl-bottom-nav:4.5rem;--pl-page-gap:0.75rem;--pl-focus-ring:0 0 0 2px var(--color-surface),0 0 0 4px var(--pl-ring,var(--color-primary))}.pl-action{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:9999px;border:1px solid color-mix(in srgb,var(--color-text-main) 15%,transparent);background:var(--color-surface);color:color-mix(in srgb,var(--color-text-main) 65%,transparent);cursor:pointer;transition:background-color .15s,color .15s}.pl-action:hover:not(:disabled){background:var(--pl-hover-muted);color:var(--color-text-main)}.pl-action:focus-visible{outline:none;box-shadow:var(--pl-focus-ring)}.pl-action:disabled{opacity:.45;cursor:not-allowed}.pl-action--danger{color:var(--pl-danger);border-color:color-mix(in srgb,var(--pl-danger) 25%,transparent)}.pl-action--danger:hover:not(:disabled){background:color-mix(in srgb,var(--pl-danger) 10%,var(--color-surface));color:var(--pl-danger-strong)}:root{font-synthesis-weight:none}.truncate{padding-block:.5em;margin-block:-.5em}[class*=line-clamp-]{line-height:1.8!important}.pl-stack{gap:var(--pl-page-gap);min-width:0}.pl-page{flex:1 1 0%;min-height:0;overflow-y:auto;padding:var(--pl-page-pad)}.pl-page--bottom-nav{padding-bottom:calc(var(--pl-page-pad) + var(--pl-bottom-nav))}@media (min-width:768px){.pl-page{padding:var(--pl-page-pad-md)}.pl-page--bottom-nav{padding-bottom:var(--pl-page-pad-md)}}.pl-btn{display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-weight:var(--font-weight-semibold);border:1px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,box-shadow .2s}.pl-btn:focus{outline:none}.pl-btn:focus-visible{box-shadow:var(--pl-focus-ring)}.pl-btn--sm{padding:6px var(--spacing-md);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.pl-btn--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border-radius:var(--radius-md)}.pl-btn--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);border-radius:var(--radius-lg)}.pl-btn--primary{background:var(--color-primary);color:var(--color-surface)}.pl-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.pl-btn--secondary{background:var(--color-secondary);color:var(--color-surface);--pl-ring:var(--color-secondary)}.pl-btn--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-secondary) 85%,var(--color-text-main))}.pl-btn--danger{background:var(--pl-danger-strong);color:var(--color-surface);--pl-ring:var(--pl-danger)}.pl-btn--danger:hover:not(:disabled){background:color-mix(in srgb,var(--pl-danger-strong) 85%,var(--color-text-main))}.pl-btn--outline{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-main)}.pl-btn--outline:hover:not(:disabled){background:var(--pl-surface-muted)}.pl-btn--outline-danger{background:var(--color-surface);border-color:color-mix(in srgb,var(--pl-danger) 30%,var(--color-surface));color:var(--pl-danger-strong);--pl-ring:var(--pl-danger)}.pl-btn--outline-danger:hover:not(:disabled){background:color-mix(in srgb,var(--pl-danger) 8%,var(--color-surface))}.pl-btn--ghost{background:transparent;color:var(--color-secondary)}.pl-btn--ghost:hover:not(:disabled){background:var(--pl-hover-muted)}.pl-btn:disabled,.pl-btn[aria-busy=true]{opacity:.7;cursor:not-allowed}.pl-btn__spinner{width:20px;height:20px;margin-left:-4px;margin-right:var(--spacing-sm);animation:pl-spin 1s linear infinite}.pl-field{display:block}.pl-label{margin-bottom:4px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.pl-input,.pl-label{display:block;color:var(--color-text-main)}.pl-input{width:100%;box-sizing:border-box;padding:var(--spacing-sm) 12px;font:inherit;font-size:var(--font-size-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--pl-shadow-sm)}.pl-input::-moz-placeholder{color:var(--color-text-muted)}.pl-input::placeholder{color:var(--color-text-muted)}.pl-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.pl-input--error,.pl-input--error:focus{border-color:var(--pl-danger)}.pl-input--error:focus{box-shadow:0 0 0 1px var(--pl-danger)}.pl-field__error{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--pl-danger-strong)}.pl-badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;background:color-mix(in srgb,var(--pl-tone) 10%,var(--color-surface));color:color-mix(in srgb,var(--pl-tone) 80%,var(--color-text-main));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--pl-tone) 25%,transparent)}.pl-badge--neutral{--pl-tone:var(--color-secondary)}.pl-badge--draft,.pl-badge--warning{--pl-tone:var(--status-warning)}.pl-badge--success{--pl-tone:var(--status-success)}.pl-badge--danger{--pl-tone:var(--status-danger)}.pl-badge--info{--pl-tone:var(--status-info)}.pl-locale-switch{display:inline-flex;padding:2px;gap:2px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-text-main) 6%,var(--color-surface))}.pl-locale-switch__btn{border:0;background:transparent;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-main)}.pl-locale-switch__btn--active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--pl-shadow-md)}.pl-msgs{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:var(--spacing-md);height:min(70vh,640px);min-height:360px}@media (max-width:720px){.pl-msgs{grid-template-columns:1fr;height:auto}}.pl-msgs__list,.pl-msgs__thread{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--pl-shadow-md);display:flex;flex-direction:column;min-height:0;overflow:hidden}.pl-msgs__search{margin:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-text-main) 15%,transparent);background:var(--color-surface);color:var(--color-text-main);font-size:var(--font-size-sm)}.pl-msgs__items{list-style:none;margin:0;padding:0 var(--spacing-sm) var(--spacing-sm);overflow-y:auto;flex:1}.pl-msgs__item{position:relative;display:flex;flex-direction:column;gap:2px;width:100%;text-align:start;border:0;background:transparent;cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-main)}.pl-msgs__item--active,.pl-msgs__item:hover{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.pl-msgs__name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.pl-msgs__sub{font-size:var(--font-size-xs);color:color-mix(in srgb,var(--color-text-main) 60%,transparent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80%}.pl-msgs__badge{position:absolute;inset-inline-end:var(--spacing-md);top:50%;transform:translateY(-50%);min-width:20px;padding:0 6px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:center}.pl-msgs__empty{padding:var(--spacing-lg);margin:0;font-size:var(--font-size-sm);color:color-mix(in srgb,var(--color-text-main) 60%,transparent)}.pl-msgs__head{padding:var(--spacing-md) var(--spacing-lg);font-weight:var(--font-weight-semibold);border-bottom:1px solid color-mix(in srgb,var(--color-text-main) 10%,transparent)}.pl-msgs__scroll{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-sm)}.pl-msgs__msg,.pl-msgs__scroll{display:flex;flex-direction:column}.pl-msgs__msg{align-items:flex-start;max-width:80%}.pl-msgs__msg--mine{align-self:flex-end;align-items:flex-end}.pl-msgs__bubble{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-text-main) 8%,var(--color-surface));color:var(--color-text-main);white-space:pre-wrap;word-break:break-word;font-size:var(--font-size-sm)}.pl-msgs__msg--mine .pl-msgs__bubble{background:var(--color-primary);color:var(--color-surface)}.pl-msgs__time{font-size:var(--font-size-xs);color:color-mix(in srgb,var(--color-text-main) 55%,transparent);margin-top:2px}.pl-msgs__composer{display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid color-mix(in srgb,var(--color-text-main) 10%,transparent)}.pl-msgs__composer input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-text-main) 15%,transparent);background:var(--color-surface);color:var(--color-text-main)}.pl-msgs__composer button{border:0;cursor:pointer;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-surface);font-weight:var(--font-weight-semibold)}.pl-msgs__composer button:disabled{opacity:.5;cursor:not-allowed}.pl-card{box-shadow:var(--pl-shadow-md);padding:var(--spacing-lg)}.pl-card,.pl-table-wrap{background:var(--color-surface);border-radius:var(--radius-lg)}.pl-table-wrap{overflow-x:auto;box-shadow:var(--pl-shadow-sm)}.pl-table{min-width:100%;border-collapse:collapse}.pl-table thead{background:var(--pl-surface-muted)}.pl-table th{padding:12px var(--spacing-lg);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.pl-table tbody tr+tr,.pl-table thead+tbody tr:first-child{border-top:1px solid var(--color-border)}.pl-table td{font-size:var(--font-size-sm);color:var(--color-text-main)}.pl-table td,.pl-table--skeleton td{padding:var(--spacing-md) var(--spacing-lg)}.pl-modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:color-mix(in srgb,var(--color-text-main) 60%,transparent);backdrop-filter:blur(4px)}.pl-modal{display:flex;flex-direction:column;width:100%;max-height:90vh;overflow:hidden;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--pl-shadow-modal);animation:pl-pop .2s ease-out}.pl-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.pl-modal__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-main)}.pl-modal__close{padding:var(--spacing-sm);border:0;background:transparent;border-radius:var(--radius-lg);color:var(--color-text-muted);cursor:pointer}.pl-modal__close:hover{background:var(--pl-hover-muted);color:var(--color-text-main)}.pl-modal__body{overflow-y:auto;padding:var(--spacing-lg)}.pl-confirm{display:flex;gap:var(--spacing-md);align-items:flex-start}.pl-confirm__icon{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--pl-danger) 12%,var(--color-surface));color:var(--pl-danger-strong)}.pl-confirm__message{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.pl-confirm__actions{display:flex;flex-direction:row-reverse;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.pl-tabs{display:flex;gap:4px}.pl-tab,.pl-tabs{align-items:center}.pl-tab{display:inline-flex;gap:var(--spacing-sm);white-space:nowrap;padding:var(--spacing-sm) 12px;background:transparent;border:0;border-bottom:2px solid transparent;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);cursor:pointer;transition:color .2s}.pl-tab:hover{color:var(--color-text-main)}.pl-tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pl-skeleton{display:block;background:var(--pl-skeleton);border-radius:var(--radius-sm);animation:pl-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.pl-skeleton--circle{border-radius:var(--radius-full);flex-shrink:0}.pl-stack{gap:var(--spacing-sm)}.pl-skeleton-card,.pl-stack{display:flex;flex-direction:column}.pl-skeleton-card{padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--pl-shadow-md)}.pl-skeleton-card__row{display:flex;justify-content:space-between;align-items:flex-start}.pl-skeleton-card__panel{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-md) 0;padding:var(--spacing-md);background:var(--pl-surface-muted);border-radius:var(--radius-lg)}.pl-skeleton-card__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.pl-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.pl-list{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--pl-shadow-sm)}.pl-list__row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.pl-list__row+.pl-list__row{border-top:1px solid var(--color-border)}.pl-list__grow{flex:1}.pl-load-more{display:flex;justify-content:center;align-items:center;gap:6px;padding:var(--spacing-lg) 0}.pl-lb{max-width:40rem;margin-inline:auto;--pl-lb-on-primary:var(--color-clay-surface,var(--color-surface));display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.pl-lb__tabs{display:flex;padding:4px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.pl-lb__tab{flex:1;border:0;background:transparent;padding:10px var(--spacing-md);border-radius:var(--radius-full);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);cursor:pointer;transition:background-color .15s,color .15s}.pl-lb__tab--active{background:var(--color-primary);color:var(--pl-lb-on-primary);box-shadow:var(--pl-shadow-sm)}.pl-lb__tab:focus-visible{outline:none;box-shadow:var(--pl-focus-ring)}.pl-lb__podium{list-style:none;margin:0;padding:var(--spacing-lg) 0 0;display:flex;align-items:flex-end;justify-content:center;gap:var(--spacing-lg)}.pl-lb__spot{flex:1 1 0;max-width:9.5rem;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);text-align:center;min-width:0}.pl-lb__spot--first{order:0;margin-bottom:var(--spacing-lg)}.pl-lb__crown{width:2.25rem;height:1.5rem;color:var(--status-warning);margin-bottom:-2px}.pl-lb__spot-photo{position:relative;padding-bottom:14px}.pl-lb__spot-photo .pl-lb__avatar{width:4.25rem;height:4.25rem;border:3px solid var(--color-primary)}.pl-lb__spot--first .pl-lb__spot-photo .pl-lb__avatar{width:5.5rem;height:5.5rem;border-width:4px}.pl-lb__badge{position:absolute;left:50%;bottom:0;transform:translateX(-50%);min-width:1.75rem;height:1.75rem;padding:0 6px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-primary);color:var(--pl-lb-on-primary);font-size:var(--font-size-sm);border:2px solid var(--color-surface)}.pl-lb__badge,.pl-lb__spot-name{font-weight:var(--font-weight-semibold)}.pl-lb__spot-name{margin:0;max-width:100%;overflow-wrap:anywhere;color:var(--color-text-main)}.pl-lb__spot-points{margin:0;display:flex;align-items:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-muted)}.pl-lb__medal{width:14px;height:14px;color:var(--status-warning)}.pl-lb__avatar{display:block;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;background:var(--pl-hover-muted);flex-shrink:0;width:2.5rem;height:2.5rem}.pl-lb__avatar--initials{display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface))}.pl-lb__avatar--sm{width:2.25rem;height:2.25rem}.pl-lb__head{display:grid;grid-template-columns:3.5rem 1fr auto;padding:10px var(--spacing-md);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));font-weight:var(--font-weight-semibold);color:var(--color-text-main);font-size:var(--font-size-sm)}.pl-lb__head span:nth-child(2){text-align:center}.pl-lb__list{list-style:none;margin:0;padding:var(--spacing-sm);flex-direction:column;border-radius:var(--radius-xl);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.pl-lb__list,.pl-lb__row{display:flex;gap:var(--spacing-sm)}.pl-lb__row{align-items:center;padding:10px var(--spacing-md);border-radius:var(--radius-lg);background:var(--color-primary);color:var(--pl-lb-on-primary)}.pl-lb__row--me{background:var(--color-primary-hover);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-primary)}.pl-lb__rank{width:1.75rem;font-weight:var(--font-weight-semibold)}.pl-lb__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-medium)}.pl-lb__points{font-weight:var(--font-weight-semibold);white-space:nowrap;font-size:var(--font-size-sm)}.pl-lb__sentinel{height:1px}.pl-lb__message{margin:0;padding:var(--spacing-lg);text-align:center;border-radius:var(--radius-lg);background:var(--pl-surface-muted);color:var(--color-text-muted)}.pl-lb__message--error{color:var(--pl-danger)}.pl-lb__loading,.pl-lb__more{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pl-lb__row-skeleton{height:3rem;border-radius:var(--radius-lg)}.pl-lb__loading .pl-lb__podium{padding-top:var(--spacing-md)}.pl-lb--wide{max-width:none;width:100%;height:var(--pl-lb-height,calc(100vh - 11rem));min-height:26rem}.pl-lb--wide>:not(.pl-lbt__wrap){flex-shrink:0}.pl-lb--wide .pl-lb__podium{padding-top:var(--spacing-md)}.pl-lb--flow{display:contents}.pl-lb--flow>.pl-lbt__wrap{max-height:var(--pl-lb-table-height,calc(100vh - 29rem));min-height:14rem;flex:none}@media (min-width:1024px){.pl-lb--flow>*{grid-column:2}.pl-lb--flow>.pl-lb__bar{grid-row:1}.pl-lb--flow>.pl-lbt__wrap{grid-column:1/-1;grid-row:3}}.pl-lb__podium--on-dark{padding-top:0}.pl-lb__podium--on-dark .pl-lb__spot-name{color:white}.pl-lb__podium--on-dark .pl-lb__spot-points{color:color-mix(in srgb,white 78%,transparent)}.pl-lb__podium--on-dark .pl-lb__spot-photo .pl-lb__avatar{border-color:color-mix(in srgb,white 85%,transparent)}.pl-lb__podium--on-dark .pl-lb__badge{background:white;color:var(--color-primary);border-color:transparent}.pl-lb__podium--on-dark .pl-lb__avatar--initials{background:color-mix(in srgb,white 18%,transparent);color:white}.pl-lb__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.pl-lb__bar .pl-lb__tabs{flex:1 1 18rem;max-width:40rem}.pl-lb__toolbar{display:flex;align-items:center}.pl-lbt__wrap{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;border-radius:var(--radius-xl);border:1px solid var(--color-border);background:var(--color-surface)}.pl-lbt{width:100%;min-width:-moz-max-content;min-width:max-content;border-collapse:separate;border-spacing:0;font-size:var(--font-size-xs);color:var(--color-text-main)}.pl-lbt th{position:sticky;top:0;z-index:1;text-align:left;white-space:nowrap;padding:10px var(--spacing-sm);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));font-weight:var(--font-weight-semibold)}.pl-lbt td{padding:6px var(--spacing-sm);white-space:nowrap;border-top:1px solid var(--color-border)}.pl-lbt__points,.pl-lbt__rank{font-weight:var(--font-weight-semibold)}.pl-lbt__student{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.pl-lbt__row--me td{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.pl-lbt__status{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.pl-lbt__status--active{background:color-mix(in srgb,var(--status-success) 16%,var(--color-surface));color:color-mix(in srgb,var(--status-success) 70%,var(--color-text-main))}.pl-lbt__status--inactive{background:color-mix(in srgb,var(--status-danger) 14%,var(--color-surface));color:color-mix(in srgb,var(--status-danger) 75%,var(--color-text-main))}.pl-dl{position:relative;display:inline-block}.pl-dl__btn{display:inline-flex;align-items:center;gap:6px;padding:9px var(--spacing-md);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-main);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer}.pl-dl__btn:hover:not(:disabled){background:var(--pl-hover-muted)}.pl-dl__btn:disabled{opacity:.6;cursor:not-allowed}.pl-dl__btn:focus-visible{outline:none;box-shadow:var(--pl-focus-ring)}.pl-dl__menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:9rem;margin:0;padding:4px;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--pl-shadow-md)}.pl-dl__item{display:block;width:100%;text-align:left;padding:8px var(--spacing-md);border:0;background:transparent;border-radius:var(--radius-md);font:inherit;font-size:var(--font-size-sm);color:var(--color-text-main);cursor:pointer}.pl-dl__item:focus-visible,.pl-dl__item:hover{background:var(--pl-hover-muted);outline:none}.pl-icon{width:20px;height:20px;flex-shrink:0}.pl-select-wrap{position:relative;width:100%}.pl-select{display:block;width:100%;box-sizing:border-box;padding:var(--spacing-sm) 40px var(--spacing-sm) 12px;font:inherit;font-size:var(--font-size-sm);color:var(--color-text-main);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.pl-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.pl-select--error,.pl-select--error:focus{border-color:var(--pl-danger)}.pl-select--error:focus{box-shadow:0 0 0 1px var(--pl-danger)}.pl-toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:200;display:flex;flex-direction:column;gap:var(--spacing-sm);width:min(380px,calc(100vw - 2 * var(--spacing-lg)))}.pl-toast{position:relative;overflow:hidden;display:flex;align-items:center;gap:12px;padding:12px var(--spacing-sm) 15px var(--spacing-md);border:1px solid var(--color-border);border-left:4px solid var(--pl-toast-tone);border-radius:var(--radius-lg);box-shadow:var(--pl-shadow-md);color:var(--color-text-main);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.4;background:var(--color-surface);animation:pl-toast-in .2s ease-out}.pl-toast--success{--pl-toast-tone:var(--status-success)}.pl-toast--error{--pl-toast-tone:var(--status-danger)}.pl-toast--info{--pl-toast-tone:var(--status-info)}.pl-toast__icon{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--pl-toast-tone);color:var(--color-surface);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.pl-toast__text{flex:1;min-width:0;overflow-wrap:anywhere}.pl-toast__dismiss{padding:2px 6px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;line-height:1;font:inherit}.pl-toast__dismiss:hover{background:color-mix(in srgb,var(--color-text-main) 8%,transparent);color:var(--color-text-main)}.pl-toast__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--pl-toast-tone);transform-origin:left;animation:pl-toast-countdown linear forwards}@keyframes pl-toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes pl-toast-in{0%{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pl-toast{animation:none}}.pl-drawer{position:fixed;inset:0;z-index:40;opacity:1;transition:opacity .3s ease-in-out}.pl-drawer--closed{opacity:0;pointer-events:none}.pl-drawer__overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--color-text-main) 50%,transparent)}.pl-drawer__panel{position:fixed;top:0;right:0;height:100%;width:100%;background:var(--color-surface);box-shadow:var(--pl-shadow-modal);transform:translateX(0);transition:transform .3s ease-in-out;display:flex;flex-direction:column}.pl-drawer--closed .pl-drawer__panel{transform:translateX(100%)}.pl-drawer__panel--md{max-width:28rem}.pl-drawer__panel--lg{max-width:42rem}.pl-drawer__panel--xl{max-width:56rem}.pl-drawer__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.pl-drawer__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-main)}.pl-drawer__close{padding:4px;border:0;background:transparent;border-radius:var(--radius-full);color:var(--color-text-muted);cursor:pointer}.pl-drawer__close:hover{color:var(--color-text-main)}.pl-drawer__body{flex:1;padding:var(--spacing-lg);overflow-y:auto}.pl-drawer__footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);background:var(--pl-surface-muted)}.pl-subject{position:relative;overflow:hidden;padding:var(--spacing-sm);cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius-lg) * 2);transition:transform .3s,box-shadow .3s}.pl-subject:hover{transform:translateY(-4px);box-shadow:var(--pl-shadow-md)}.pl-subject:focus-visible{outline:none;box-shadow:var(--pl-focus-ring)}.pl-subject__blob{position:absolute;top:-40px;right:-40px;width:128px;height:128px;border-radius:var(--radius-full);opacity:.1;transition:transform .7s}.pl-subject:hover .pl-subject__blob{transform:scale(1.5)}.pl-subject__cover{position:relative;aspect-ratio:3/4;overflow:hidden;margin-bottom:var(--spacing-md);border-radius:calc(var(--radius-lg) * 1.5);box-shadow:var(--pl-shadow-sm)}.pl-subject__fallback{display:flex;align-items:center;justify-content:center;color:var(--color-surface);font-size:3rem;font-weight:var(--font-weight-bold,700)}.pl-subject__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .7s}.pl-subject:hover .pl-subject__img{transform:scale(1.1)}.pl-subject__shade{position:absolute;inset:0;background:color-mix(in srgb,var(--color-text-main) 10%,transparent);transition:background .2s}.pl-subject:hover .pl-subject__shade{background:color-mix(in srgb,var(--color-text-main) 5%,transparent)}.pl-subject__progress-chip{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-surface) 80%,transparent);backdrop-filter:blur(8px)}.pl-subject__progress-label,.pl-subject__progress-value{font-size:10px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:-.025em}.pl-subject__progress-label{color:var(--color-text-main)}.pl-subject__body{padding:0 12px var(--spacing-md)}.pl-subject__title{margin:0 0 4px;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-subject:hover .pl-subject__title{color:var(--color-primary)}.pl-subject__meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:11px;font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.pl-subject__dot{width:4px;height:4px;border-radius:var(--radius-full);background:var(--color-border)}.pl-subject__bar{position:relative;height:6px;margin-top:var(--spacing-md);overflow:hidden;border-radius:var(--radius-full);background:var(--pl-hover-muted)}.pl-subject__bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:var(--radius-full);transition:width 1s ease-out}.pl-content{position:relative;display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer;border:1px solid transparent;border-radius:var(--radius-lg);transition:background-color .2s}.pl-content:hover{background:var(--pl-surface-muted)}.pl-content:focus-visible{outline:none;box-shadow:var(--pl-focus-ring)}.pl-content--active,.pl-content--active:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 20%,var(--color-surface))}.pl-content__arrow{position:absolute;left:0;top:50%;transform:translateY(-50%);margin-left:-1px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:8px solid var(--color-primary)}.pl-content__thumb{position:relative;flex:none;width:160px;height:96px;overflow:hidden;border-radius:var(--radius-md);background:var(--pl-skeleton)}.pl-content__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pl-content__fallback{width:100%;height:100%;background:var(--pl-hover-muted);color:var(--color-text-muted);opacity:.7}.pl-content__fallback,.pl-content__overlay{display:flex;align-items:center;justify-content:center}.pl-content__overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--color-text-main) 10%,transparent)}.pl-content__overlay--active{background:color-mix(in srgb,var(--color-text-main) 40%,transparent)}.pl-content__play{display:flex;padding:6px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-text-main) 50%,transparent);color:var(--color-surface)}.pl-content__bars{display:flex;align-items:flex-end;gap:4px;height:24px}.pl-content__bar{width:6px;border-radius:var(--radius-full);background:var(--color-surface)}.pl-content__bar--playing{animation:pl-pulse 1s cubic-bezier(.4,0,.6,1) infinite}.pl-content__text{flex:1;min-width:0;padding:4px 0}.pl-content__title{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-content--active .pl-content__title{color:var(--color-primary)}.pl-content__desc{margin:4px 0 0;font-size:var(--font-size-sm);line-height:1.375;color:var(--color-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pl-content__meta{display:flex;align-items:center;gap:12px;margin-top:var(--spacing-sm)}.pl-content__badge{padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-weight-medium);background:color-mix(in srgb,var(--pl-tone) 12%,var(--color-surface));color:color-mix(in srgb,var(--pl-tone) 85%,var(--color-text-main))}.pl-content__badge--video{--pl-tone:var(--status-danger)}.pl-content__badge--pdf{--pl-tone:var(--status-warning)}.pl-content__badge--other{--pl-tone:var(--color-secondary)}.pl-content__duration{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--color-text-muted)}.pl-input-wrap{position:relative}.pl-input--has-toggle{padding-right:44px}.pl-input-toggle{position:absolute;top:0;right:0;bottom:0;width:40px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;border-radius:0 var(--radius-md) var(--radius-md) 0;cursor:pointer;color:var(--color-text-muted)}.pl-input-toggle:hover:not(:disabled){color:var(--color-text-main)}.pl-input-toggle:focus-visible{outline:none;box-shadow:var(--pl-focus-ring)}.pl-input-toggle:disabled{cursor:not-allowed;opacity:.5}.pl-combo{position:relative;width:100%}.pl-combo__trigger{position:relative;text-align:left;cursor:pointer}.pl-combo__trigger:disabled{cursor:not-allowed;opacity:.6;background:var(--pl-surface-muted)}.pl-combo__value{display:block;min-width:0;padding-right:24px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-combo__chevron,.pl-combo__value--placeholder{color:var(--color-text-muted)}.pl-combo__chevron{position:absolute;top:50%;right:12px;transform:translateY(-50%);pointer-events:none}.pl-phone__country .pl-combo__chevron{position:static;transform:none}.pl-combo__validate{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}.pl-popover{z-index:10000;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden;background:var(--color-surface);color:var(--color-text-main);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--pl-shadow-modal);font-size:var(--font-size-sm)}.pl-combo__search{padding:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.pl-combo__search-input{width:100%;box-sizing:border-box;padding:6px 10px;font:inherit;color:var(--color-text-main);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.pl-combo__search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.pl-combo__list{margin:0;padding:4px 0;list-style:none;overflow-y:auto;flex:1}.pl-combo__option{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 12px;cursor:pointer}.pl-combo__option--active{background:var(--pl-hover-muted)}.pl-combo__option--selected{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.pl-combo__option--disabled{opacity:.5;cursor:not-allowed}.pl-combo__group{padding:6px 12px;font-size:var(--font-size-xs,.75rem);font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);background:var(--pl-surface-muted)}.pl-combo__empty{padding:12px;text-align:center;color:var(--color-text-muted)}.pl-combo__bulk{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--color-border)}.pl-combo__check{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;width:100%}.pl-combo__check input{accent-color:var(--color-primary);width:16px;height:16px;flex:none}.pl-combo__check--disabled{cursor:not-allowed;opacity:.5}.pl-combo__clear{background:none;border:0;font:inherit;color:var(--color-primary);cursor:pointer;padding:2px 4px}.pl-combo__clear:disabled{color:var(--color-text-muted);cursor:not-allowed}.pl-phone{display:flex;align-items:stretch;width:100%;box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--pl-shadow-sm)}.pl-phone:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.pl-phone--error{border-color:var(--pl-danger)}.pl-phone--disabled{opacity:.6;background:var(--pl-surface-muted)}.pl-phone__country{display:inline-flex;align-items:center;gap:6px;padding:0 10px;font:inherit;font-size:var(--font-size-sm);color:var(--color-text-main);background:var(--pl-surface-muted);border:0;border-right:1px solid var(--color-border);border-radius:var(--radius-md) 0 0 var(--radius-md);cursor:pointer;white-space:nowrap}.pl-phone__country:focus-visible{outline:none;box-shadow:var(--pl-focus-ring)}.pl-phone__number{flex:1;min-width:0;padding:var(--spacing-sm) 12px;font:inherit;font-size:var(--font-size-sm);color:var(--color-text-main);background:transparent;border:0;outline:none}.pl-phone__number::-moz-placeholder{color:var(--color-text-muted)}.pl-phone__number::placeholder{color:var(--color-text-muted)}.pl-phone__flag{font-size:1.25em;line-height:1}.pl-phone__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-phone__code{color:var(--color-text-muted);font-variant-numeric:tabular-nums}@keyframes pl-spin{to{transform:rotate(1turn)}}@keyframes pl-pulse{50%{opacity:.5}}@keyframes pl-pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}