.skeleton{background:linear-gradient(90deg, var(--fill-8) 0%, var(--fill-16) 50%, var(--fill-8) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.btn{white-space:nowrap;font-weight:var(--fw-semibold);transition:background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), opacity var(--dur-fast);border:0;justify-content:center;align-items:center;gap:6px;display:inline-flex}.btn--md{height:var(--h-btn);border-radius:var(--r-lg);font-size:var(--fs-headline);line-height:var(--lh-headline);padding:0 20px}.btn--sm{height:var(--h-btn-sm);border-radius:var(--r-sm);font-size:var(--fs-caption);line-height:var(--lh-caption);padding:0 12px}.btn--block{width:100%}.btn--primary{background:var(--blue);color:var(--text-on-accent)}.btn--primary:hover:not(:disabled){background:var(--blue-hover)}.btn--primary:active:not(:disabled){background:var(--blue-pressed)}.btn--secondary{background:var(--fill-12);color:var(--text-primary)}.btn--secondary:hover:not(:disabled){background:var(--fill-16)}.btn--secondary:active:not(:disabled){background:var(--fill-24)}.btn--plain{color:var(--blue);background:0 0}.btn--plain:hover:not(:disabled){background:var(--blue-tint-10)}.btn--danger{background:var(--red-tint-10);color:var(--red)}.btn--danger:hover:not(:disabled){background:var(--red-tint-16)}.btn:active:not(:disabled){transform:scale(.985)}.btn:disabled{cursor:not-allowed}.btn--primary:disabled{background:var(--fill-12);color:var(--text-disabled)}.btn--secondary:disabled,.btn--plain:disabled,.btn--danger:disabled{color:var(--text-disabled)}.btn[aria-busy=true]:disabled{cursor:progress}.btn--primary[aria-busy=true]:disabled{background:var(--blue);color:var(--text-on-accent);opacity:.7}.btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite btn-spin}@keyframes btn-spin{to{transform:rotate(360deg)}}.icon-btn{width:var(--h-btn-sm);height:var(--h-btn-sm);background:var(--fill-12);color:var(--text-secondary);transition:background var(--dur-fast) var(--ease);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn--plain{background:0 0}.icon-btn:hover:not(:disabled){background:var(--fill-16);color:var(--text-primary)}.icon-btn:disabled{color:var(--text-disabled);cursor:not-allowed}.modal__overlay{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:modal-fade var(--dur) var(--ease);position:fixed;inset:0}.modal{z-index:51;gap:var(--sp-4);width:min(480px,100vw - 48px);max-height:calc(100vh - 48px);padding:var(--sp-8);border:1px solid var(--hairline);border-radius:var(--r-modal);background:var(--bg-overlay);box-shadow:var(--shadow-float);animation:modal-in var(--dur) var(--ease);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal:focus{outline:none}.modal__close{top:var(--sp-4);right:var(--sp-4);position:absolute}.modal__title{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-semibold);overflow-wrap:anywhere;margin:0;padding-right:40px}.modal__desc{color:var(--text-secondary);font-size:var(--fs-body);line-height:var(--lh-body);margin:0}.modal__body{gap:var(--sp-3);flex-direction:column;display:flex}.modal__footer{gap:var(--sp-2);flex-direction:column;display:flex}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translate(-50%,-48%)scale(.97)}}.toast-region{z-index:100;align-items:center;gap:var(--sp-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--sp-3);max-width:480px;min-height:48px;padding:0 var(--sp-4);border-radius:var(--r-card);background:var(--toast-bg);color:var(--text-on-accent);box-shadow:var(--shadow-float);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-medium);pointer-events:auto;animation:toast-in var(--dur) var(--ease);display:flex}.toast__text{overflow-wrap:anywhere}.toast__sep{background:#ffffff3d;align-self:stretch;width:1px}.toast__action{color:#4da6ff;font-weight:var(--fw-semibold);background:0 0;border:0;padding:0}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.udlg{gap:var(--sp-5);flex-direction:column;margin:0;display:flex}.udlg__field{gap:var(--sp-2);flex-direction:column;display:flex}.udlg__label-row{justify-content:space-between;align-items:center;min-height:20px;display:flex}.udlg__label{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-medium)}.udlg__label-row .btn{height:24px;margin-right:calc(var(--sp-2) * -1);padding:0 var(--sp-2);font-weight:var(--fw-medium)}.udlg__input{width:100%;height:var(--h-input-sm);padding:0 var(--sp-3);border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--bg-card);font-size:var(--fs-body);line-height:var(--lh-body);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.udlg__input::placeholder{color:var(--text-tertiary)}.udlg__input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-tint-24);outline:0}.udlg__input[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 3px var(--red-ring-30)}.udlg__error{color:var(--red);font-size:var(--fs-caption);line-height:var(--lh-caption);margin:0}.udlg__hint{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);margin:0}.udlg__actions{justify-content:flex-end;align-items:center;gap:var(--sp-3);display:flex}.udlg__actions--split{justify-content:space-between}.udlg__actions-end{gap:var(--sp-3);display:flex}.udlg__icon-btn{width:28px;height:28px}.udlg__secret{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) var(--sp-2) var(--sp-4);border-radius:var(--r-md);background:var(--fill-8);display:flex}.udlg__secret-value{min-width:0;font-family:var(--font-mono);font-size:var(--fs-headline);line-height:var(--lh-headline);letter-spacing:.04em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1}.udlg__summary{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.udlg__summary-value{font-weight:var(--fw-semibold);overflow-wrap:anywhere}.segmented{background:var(--fill-12);border-radius:16px;align-items:center;height:32px;padding:2px;display:inline-flex}.segmented__item{height:28px;color:var(--text-secondary);font-size:var(--fs-caption);line-height:1;font-weight:var(--fw-medium);white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;border-radius:14px;padding:0 16px}.segmented__item:hover:not([data-state=on]){color:var(--text-primary)}.segmented__item[data-state=on]{color:var(--text-primary);font-weight:var(--fw-semibold);box-shadow:var(--shadow-segment);background:#fff}.field{align-items:center;gap:var(--sp-2);height:var(--h-input);padding:0 var(--sp-3);border:1px solid var(--hairline);border-radius:var(--r-input);background:var(--bg-card);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:flex}.field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-tint-24)}.field--sm{height:var(--h-input-sm);border-radius:var(--r-md)}.field--sm .field__input{font-size:var(--fs-body);line-height:var(--lh-body)}.field--invalid,.field--invalid:focus-within{border-color:var(--red);box-shadow:0 0 0 3px var(--red-ring-30)}.field__icon{color:var(--text-tertiary);flex:none;display:inline-flex}.field__input{min-width:0;height:100%;color:var(--text-primary);font-size:var(--fs-headline);line-height:var(--lh-headline);background:0 0;border:0;outline:0;flex:1;padding:0}.field__input::placeholder{color:var(--text-tertiary)}.udlg .segmented{width:100%;display:flex}.udlg .segmented__item{flex:1}.udlg__actions .btn{min-width:74px;padding:0 var(--sp-5)}.empty{align-items:center;gap:var(--sp-4);text-align:center;flex-direction:column;max-width:480px;margin:0 auto;padding:64px 0;display:flex}.empty__art{background:var(--blue-tint-10);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.empty__disc{width:80px;height:80px;box-shadow:var(--shadow-dot);color:var(--blue);background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.empty__title{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-semibold)}.empty__desc{color:var(--text-secondary)}.empty__action{gap:var(--sp-3);display:flex}.avatar{background:var(--grad-avatar);color:var(--text-on-accent);font-weight:var(--fw-semibold);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.user-table{border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card);overflow-x:auto}.user-table__table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:880px;font-size:var(--fs-body);line-height:var(--lh-body)}.user-table__table thead th{height:44px;padding:0 var(--sp-5);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-semibold);text-align:left;white-space:nowrap}.user-table__c-name{width:22%}.user-table__c-role{width:9%}.user-table__c-usage{width:10%}.user-table__c-token{width:11%}.user-table__c-status{width:9%}.user-table__c-login{width:14%}.user-table__row>*{height:65px;padding:0 var(--sp-5);border-top:1px solid var(--hairline);text-align:left;font-weight:var(--fw-regular);vertical-align:middle}.user-table__row--disabled>:not(:last-child){opacity:.45}.user-table__name{display:table-cell}.user-table__name>*{vertical-align:middle}.user-table__name .avatar{margin-right:var(--sp-3)}.user-table__username{text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;max-width:calc(100% - 100px);font-weight:var(--fw-medium);display:inline-block;overflow:hidden}.user-table__me{margin-left:var(--sp-2);color:var(--text-tertiary);font-size:var(--fs-caption)}.user-table__role,.user-table__tag{background:var(--fill-12);color:var(--text-secondary);font-size:var(--fs-micro);line-height:var(--lh-micro);font-weight:var(--fw-semibold);white-space:nowrap;border-radius:12px;padding:1px 8px;display:inline-block}.user-table__role--admin{background:var(--blue-tint-10);color:var(--blue)}.user-table__tag--ok{background:var(--green-tint-14);color:var(--green)}.user-table__tag--wait{background:var(--orange-tint-14);color:var(--orange-text)}.user-table__usage--full{color:var(--orange-text);font-weight:var(--fw-semibold)}.user-table__login{color:var(--text-secondary);font-size:var(--fs-caption);white-space:nowrap}.user-table__actions{align-items:center;gap:var(--sp-1);margin-left:calc(var(--sp-3) * -1);flex-wrap:wrap;display:flex}.user-table__actions .btn{padding:0 var(--sp-3);font-weight:var(--fw-medium)}.admin-users{gap:var(--sp-6);padding:var(--page-pad-y) var(--page-pad-x) var(--sp-8);flex-direction:column;display:flex}.admin-users__head{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.admin-users__loading{gap:var(--sp-3);padding:var(--sp-5);border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.admin-users__panel{border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card)}.nav-item{align-items:center;gap:var(--sp-3);height:40px;padding:0 var(--sp-3);border-radius:var(--r-md);color:var(--text-primary);font-size:var(--fs-body);font-weight:var(--fw-medium);line-height:var(--lh-body);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);display:flex}.nav-item:hover{background:var(--fill-8)}.nav-item__icon{color:var(--text-secondary);display:inline-flex}.nav-item__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item__count{background:var(--fill-16);min-width:20px;height:20px;color:var(--text-secondary);font-size:var(--fs-micro);line-height:20px;font-weight:var(--fw-semibold);text-align:center;border-radius:10px;padding:0 8px}.nav-item--active{background:var(--blue-tint-10);color:var(--blue);font-weight:var(--fw-semibold)}.nav-item--active:hover{background:var(--blue-tint-16)}.nav-item--active .nav-item__icon{color:var(--blue)}.nav-item--active .nav-item__count{background:var(--blue);color:var(--text-on-accent)}.sidebar{z-index:2;width:var(--sidebar-w);border-right:1px solid var(--hairline);background:var(--bg-sidebar-glass);-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);flex-direction:column;padding:24px 12px 16px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__brand{align-items:center;gap:var(--sp-3);height:32px;padding:0 var(--sp-2);display:flex}.sidebar__logo{background:var(--grad-brand);border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.sidebar__name{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-semibold)}.sidebar__nav{margin-top:var(--sp-6)}.sidebar__group+.sidebar__group{margin-top:var(--sp-4)}.sidebar__group-label{height:24px;padding:0 var(--sp-4);color:var(--text-tertiary);font-size:var(--fs-micro);line-height:var(--lh-micro);font-weight:var(--fw-semibold);align-items:center;display:flex}.sidebar__list{gap:var(--sp-1);flex-direction:column;display:flex}.sidebar__spacer{flex:1}.sidebar__storage{gap:var(--sp-2);margin-bottom:var(--sp-3);padding:var(--sp-3);border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--bg-card-glass);flex-direction:column;display:flex}.sidebar__storage-head{justify-content:space-between;align-items:center;display:flex}.sidebar__storage-title{font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-semibold)}.sidebar__storage-used,.sidebar__storage-free{font-size:var(--fs-micro);line-height:var(--lh-micro)}.sidebar__storage-used{color:var(--text-secondary)}.sidebar__storage-free{color:var(--text-tertiary)}.sidebar__bar{background:var(--track);border-radius:3px;height:6px;overflow:hidden}.sidebar__bar-fill{background:var(--blue);border-radius:3px;height:100%}.sidebar__account{align-items:center;gap:var(--sp-3);margin-top:var(--sp-1);padding:var(--sp-3) var(--sp-1) 0;border-top:1px solid var(--hairline);display:flex}.sidebar__who{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.sidebar__username{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:var(--fs-caption);line-height:1.2;font-weight:var(--fw-semibold);overflow:hidden}.sidebar__role{font-size:var(--fs-micro);line-height:var(--lh-micro);font-weight:var(--fw-semibold);border-radius:12px;padding:1px 8px}.sidebar__role--admin{background:var(--blue-tint-10);color:var(--blue)}.sidebar__role--member{background:var(--fill-12);color:var(--text-secondary)}.toolbar{z-index:1;align-items:center;gap:var(--sp-2);height:var(--toolbar-h);padding:0 var(--page-pad-x);border-bottom:1px solid var(--hairline);background:var(--bg-toolbar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);display:flex;position:sticky;top:0}.toolbar__grow{flex:1}.toolbar__search{align-items:center;gap:var(--sp-2);width:320px;height:36px;padding:0 var(--sp-2) 0 var(--sp-3);border-radius:var(--r-md);background:var(--fill-12);color:var(--text-tertiary);transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:flex}.toolbar__search:focus-within{background:var(--bg-card);box-shadow:0 0 0 1px var(--blue), 0 0 0 4px var(--blue-tint-24)}.toolbar__search input{min-width:0;height:100%;color:var(--text-primary);font-size:var(--fs-body);appearance:none;background:0 0;border:0;outline:0;flex:1;padding:0}.toolbar__search input::placeholder{color:var(--text-tertiary)}.toolbar__search input::-webkit-search-cancel-button{display:none}.toolbar__search kbd{border-radius:var(--r-xs);background:var(--fill-12);color:var(--text-tertiary);font-family:inherit;font-size:var(--fs-micro);line-height:20px;font-weight:var(--fw-semibold);padding:0 6px}.toolbar__search:focus-within kbd{display:none}.toolbar__me{margin-left:var(--sp-2);display:flex}.shell{background:var(--bg-content);min-height:100vh;position:relative}.shell__glow{pointer-events:none;border-radius:50%;position:fixed}.shell__glow--purple{background:radial-gradient(circle,#c7aeff73 0%,#c7aeff26 40%,#c7aeff00 68%);width:520px;height:520px;top:-40px;left:-200px}.shell__glow--blue{background:radial-gradient(circle, var(--glow-blue) 0%, #007aff1a 40%, #007aff00 68%);width:640px;height:640px;bottom:-280px;left:-300px}.shell__main{min-width:0;min-height:100vh;margin-left:var(--sidebar-w);position:relative}.auth{min-height:100vh;padding:var(--sp-8) var(--sp-4);background:var(--bg-content);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.auth__glow{pointer-events:none;border-radius:50%;position:absolute}.auth__glow--blue{background:radial-gradient(circle, var(--glow-blue) 0%, #007aff1f 38%, #007aff00 68%);width:760px;height:760px;bottom:-200px;left:-240px}.auth__glow--purple{background:radial-gradient(circle, var(--glow-purple) 0%, #c7aeff33 40%, #c7aeff00 68%);width:640px;height:640px;top:-220px;right:-140px}.auth__stack{align-items:center;gap:var(--sp-5);flex-direction:column;width:100%;max-width:440px;display:flex;position:relative}.auth__card{gap:var(--sp-5);width:100%;padding:var(--sp-10);border-radius:var(--r-panel);background:var(--bg-card);box-shadow:var(--shadow-float);flex-direction:column;display:flex}.auth__brand{align-items:center;gap:var(--sp-2);text-align:center;flex-direction:column;display:flex}.auth__logo{border-radius:var(--r-card);background:var(--grad-brand);justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.auth__title{font-size:var(--fs-title-lg);line-height:var(--lh-title-lg);font-weight:var(--fw-semibold)}.auth__subtitle{color:var(--text-secondary);font-size:var(--fs-body);line-height:var(--lh-body)}.auth__form{gap:var(--sp-3);flex-direction:column;display:flex}.auth__submit{margin-top:var(--sp-2)}.auth__alert{align-items:center;gap:var(--sp-2);padding:10px var(--sp-3);border:1px solid var(--red-tint-24);border-radius:var(--r-lg);background:var(--red-tint-10);color:var(--red);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-medium);display:flex}.auth__alert svg{flex:none}.auth__hint{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.auth__footer{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.auth__link{color:var(--blue);font-size:var(--fs-caption);font-weight:var(--fw-medium);background:0 0;border:0;padding:0}.auth__link:hover{text-decoration:underline}.filter-bar{align-items:center;gap:var(--sp-4);min-width:0;display:flex}.filter-bar__count{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);white-space:nowrap}.sort-select{border-radius:var(--r-md);background:var(--fill-12);height:32px;color:var(--text-primary);transition:background var(--dur-fast) var(--ease);align-items:center;display:inline-flex;position:relative}.sort-select:hover{background:var(--fill-16)}.sort-select select{height:100%;padding:0 32px 0 var(--sp-4);border-radius:inherit;color:inherit;font-size:var(--fs-caption);font-weight:var(--fw-medium);appearance:none;cursor:pointer;background:0 0;border:0}.sort-select svg{right:var(--sp-3);color:var(--text-secondary);pointer-events:none;position:absolute}.min-duration{height:32px;padding-left:var(--sp-4);border-radius:var(--r-md);background:var(--fill-12);color:var(--text-primary);transition:background var(--dur-fast) var(--ease);flex:none;align-items:center;display:inline-flex;position:relative}.min-duration:hover{background:var(--fill-16)}.min-duration__label{color:var(--text-secondary);font-size:var(--fs-caption);font-weight:var(--fw-medium);white-space:nowrap}.min-duration select{height:100%;padding:0 32px 0 var(--sp-2);border-radius:inherit;color:inherit;font-size:var(--fs-caption);font-weight:var(--fw-medium);appearance:none;cursor:pointer;background:0 0;border:0}.min-duration svg{right:var(--sp-3);color:var(--text-secondary);pointer-events:none;position:absolute}.view-toggle{align-items:center;gap:2px;display:inline-flex}.view-toggle__btn{width:32px;height:32px;color:var(--text-secondary);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.view-toggle__btn:hover{color:var(--text-primary)}.view-toggle__btn[aria-pressed=true]{background:var(--fill-12);color:var(--text-primary)}.thumb{border-radius:var(--r-sm);background:var(--fill-12);flex:none;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumb--fallback{color:var(--text-tertiary);justify-content:center;align-items:center;display:flex}.video-card{border-radius:var(--r-card);background:var(--bg-card);min-width:0;box-shadow:var(--shadow-card);transition:box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease);border:1px solid #0000;display:flex;position:relative;overflow:hidden}.video-card:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.video-card[data-state=failed]{border-color:var(--red)}.video-card__link{min-width:0;color:inherit;flex-direction:column;flex:1;display:flex}.video-card__media{position:relative}.video-card .video-card__thumb{aspect-ratio:16/9;border-radius:0;width:100%}.video-card__play{width:40px;height:40px;color:var(--text-primary);pointer-events:none;background:#ffffffe0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video-card__duration{right:var(--sp-2);bottom:var(--sp-2);border-radius:var(--r-xs);background:var(--scrim-strong);color:var(--text-on-accent);font-size:var(--fs-micro);line-height:var(--lh-micro);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;padding:1px 6px;position:absolute}.video-card__body{gap:var(--sp-1);padding:var(--sp-3);flex-direction:column;flex:1;display:flex}.video-card__title,.video-card__sub{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.video-card__title{-webkit-line-clamp:2;line-clamp:2;font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-medium)}.video-card__sub{-webkit-line-clamp:1;line-clamp:1;color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.video-card__meta{padding-top:var(--sp-2);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);margin-top:auto}.video-card__foot{justify-content:space-between;align-items:center;gap:var(--sp-2);min-height:24px;margin-top:var(--sp-1);display:flex}.video-card__date{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption);white-space:nowrap;margin-left:auto}.video-card .video-card__delete{top:var(--sp-2);right:var(--sp-2);z-index:2;box-shadow:var(--shadow-segment);opacity:0;transition:opacity var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:#ffffffe6;position:absolute}.video-card:hover .video-card__delete,.video-card:focus-within .video-card__delete{opacity:1}.video-card .video-card__delete:hover:not(:disabled){background:var(--red-tint-16);color:var(--red)}@media (hover:none){.video-card .video-card__delete{opacity:1}}.status-badge{align-items:center;gap:var(--sp-1);border-radius:var(--r-pill);background:var(--fill-12);height:24px;color:var(--text-secondary);font-size:var(--fs-caption);line-height:1;font-weight:var(--fw-medium);white-space:nowrap;padding:0 10px;display:inline-flex}.status-badge--ok{background:var(--green-tint-14);color:var(--green)}.status-badge--warn{background:var(--orange-tint-14);color:var(--orange-text)}.status-badge--danger{background:var(--red-tint-10);color:var(--red)}.video-row{align-items:center;column-gap:var(--sp-4);min-height:81px;padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--hairline);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);transition:background var(--dur-fast) var(--ease);grid-template-columns:minmax(0,1fr) 140px 80px 140px 48px;list-style:none;display:grid;position:relative}li.video-row:hover{background:var(--fill-8)}li.video-row:first-child{border-top:0}.video-row--head{min-height:48px;font-weight:var(--fw-semibold);border-top:0}.video-row__main{align-items:center;gap:var(--sp-4);min-width:0;display:flex}.video-row .video-row__thumb{border-radius:var(--r-sm);width:96px;height:54px}.video-row__text{flex-direction:column;min-width:0;display:flex}.video-row__link{color:var(--text-primary);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-medium)}.video-row__link:after{content:"";position:absolute;inset:0}.video-row__sub,.video-row__meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.video-row__num{font-size:var(--fs-caption);font-variant-numeric:tabular-nums;white-space:nowrap}.video-row__actions{z-index:2;justify-content:flex-end;display:flex;position:relative}.library{gap:var(--sp-6);padding:var(--page-pad-y) var(--page-pad-x) var(--sp-8);flex-direction:column;display:flex}.library__head{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.library__search{width:280px;max-width:100%}.library__search .icon-btn{width:24px;height:24px}.library__bar{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:calc(var(--sp-1) * -1);flex-wrap:wrap;display:flex}.library__tools{align-items:center;gap:var(--sp-4);display:flex}.library__grid,.library__skeleton-list{margin:0;padding:0;list-style:none;display:grid}.library__grid{gap:var(--sp-4);transition:opacity var(--dur) var(--ease);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.library__skeleton-list{gap:var(--sp-3)}.library__list{border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card);transition:opacity var(--dur) var(--ease);overflow:hidden}.library__rows{margin:0;padding:0;list-style:none}.library [data-stale]{opacity:.6}.library__more{align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.library__shown{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.library__panel{border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card)}.library__panel--fill{justify-content:center;align-items:center;min-height:max(420px,100vh - 233px);display:flex}.library__panel--fill .empty{padding:0}.link-input{align-items:center;gap:var(--sp-3);display:flex}.link-input__field{flex:1;min-width:0}.link-input__clear{width:24px;height:24px;color:var(--text-tertiary)}.link-input .btn{flex:none}.link-input .link-input__reparse{background:var(--blue-tint-10)}.link-input .link-input__reparse:hover:not(:disabled){background:var(--blue-tint-16)}.link-input .btn--primary:disabled,.link-input .btn--primary[aria-busy=true]:disabled,.link-input .link-input__reparse:disabled{background:var(--fill-12);color:var(--text-disabled);opacity:1}.switch{background:var(--fill-16);width:51px;height:31px;transition:background var(--dur) var(--ease);border:0;border-radius:16px;flex:none;padding:0;position:relative}.switch[data-state=checked]{background:var(--green)}.switch[data-disabled]{opacity:.5;cursor:not-allowed}.switch__thumb{width:27px;height:27px;box-shadow:var(--shadow-knob);transition:transform var(--dur) var(--ease);will-change:transform;background:#fff;border-radius:50%;display:block;transform:translate(2px)}.switch__thumb[data-state=checked]{transform:translate(22px)}.link-preview{gap:var(--sp-6);flex-direction:column;display:flex}.link-preview__grid{gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.link-preview__card{gap:var(--sp-3);padding:var(--sp-6);border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.link-preview__thumb{aspect-ratio:16/9;border-radius:var(--r-lg);width:100%;height:auto}.link-preview__title{margin-top:var(--sp-1);font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-semibold)}.link-preview__channel{font-weight:var(--fw-medium)}.link-preview__meta{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.link-preview__options{gap:var(--sp-5)}.link-preview__section{gap:var(--sp-3);flex-direction:column;display:flex}.link-preview__label{color:var(--text-secondary);font-weight:var(--fw-semibold)}.link-preview__section .segmented{width:100%;display:flex}.link-preview__section .segmented__item{flex:1;padding:0 8px}.link-preview__hint{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.link-preview__keep{justify-content:space-between;align-items:center;gap:var(--sp-4);padding-top:var(--sp-5);border-top:1px solid var(--hairline);display:flex}.link-preview__keep .link-preview__label{color:var(--text-primary)}.link-preview__done{align-items:flex-start;gap:var(--sp-3);display:flex}.link-preview__done-icon{background:var(--green-tint-14);width:32px;height:32px;color:var(--green);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.link-preview__done-title{font-weight:var(--fw-semibold)}.link-preview__footer{justify-content:flex-end;gap:var(--sp-3);display:flex}.quota-hint{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);white-space:nowrap;flex:none}.quota-hint--exhausted{color:var(--orange-text)}.paste{gap:var(--sp-6);padding:var(--page-pad-y) var(--page-pad-x) var(--sp-8);flex-direction:column;display:flex}.paste__banner{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-medium);display:flex}.paste__banner--warn{background:var(--orange-tint-14);color:var(--orange-text)}.paste__status{align-items:center;gap:var(--sp-2);margin:calc(var(--sp-2) * -1) 0 calc(var(--sp-2) * -1);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);display:flex}.paste__spinner{border:2px solid var(--blue);border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite paste-spin}@keyframes paste-spin{to{transform:rotate(360deg)}}.paste__alert{align-items:flex-start;gap:var(--sp-4);padding:var(--sp-5) var(--sp-5) var(--sp-5) var(--sp-5);border-radius:var(--r-card);background:var(--red-tint-10);display:flex}.paste__alert-icon{width:40px;height:40px;color:var(--red);background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.paste__alert-body{gap:var(--sp-1);flex-direction:column;flex:1;min-width:0;display:flex}.paste__alert-title{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-semibold)}.paste__alert-text{color:var(--text-secondary)}.paste__alert-actions{gap:var(--sp-2);margin-top:var(--sp-2);display:flex}.paste__grid{gap:var(--sp-6);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;display:grid}.paste__card{padding:var(--sp-5);border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card)}.paste__card-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.paste__card-title{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-semibold)}.paste__card-head+.paste__recent,.paste__card-head+.paste__empty{margin-top:var(--sp-2)}.paste__card-title+.paste__supported{margin-top:var(--sp-4)}.paste__supported{align-items:flex-start;gap:var(--sp-3);display:flex}.paste__supported-icon{border-radius:var(--r-md);background:var(--blue-tint-10);width:40px;height:40px;color:var(--blue);flex:none;justify-content:center;align-items:center;display:inline-flex}.paste__supported-name{font-weight:var(--fw-medium)}.paste__supported-list{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.paste__recent{gap:var(--sp-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.paste__recent-item{align-items:center;gap:var(--sp-4);display:flex}.paste__recent-thumb{width:96px;height:56px}.paste__recent-body{flex:1;min-width:0}.paste__recent-title{font-weight:var(--fw-medium);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.paste__recent-meta{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.paste__empty{padding:var(--sp-4) 0 var(--sp-2);color:var(--text-tertiary)}@media (width<=1100px){.paste__grid{grid-template-columns:minmax(0,1fr)}}.stage-steps{align-items:center;margin:0;padding:0;list-style:none;display:flex}.stage-steps__item{align-items:center;gap:var(--sp-2);min-width:0;color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption);white-space:nowrap;flex:1;display:flex}.stage-steps__item:last-child{flex:none}.stage-steps__icon{border:1.5px solid var(--checkbox-line);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.stage-steps__dot{background:var(--blue);border-radius:50%;width:8px;height:8px}.stage-steps__line{min-width:12px;height:1.5px;margin:0 var(--sp-2) 0 var(--sp-1);background:var(--track);border-radius:1px;flex:1}.stage-steps__item[data-status=done]{color:var(--text-primary)}.stage-steps__item[data-status=done] .stage-steps__icon{border-color:var(--green);background:var(--green)}.stage-steps__item[data-status=done] .stage-steps__line{background:var(--green)}.stage-steps__item[data-status=current]{color:var(--blue);font-weight:var(--fw-semibold)}.stage-steps__item[data-status=current] .stage-steps__icon{border-color:var(--blue)}.stage-steps__item[data-status=failed]{color:var(--red);font-weight:var(--fw-semibold)}.stage-steps__item[data-status=failed] .stage-steps__icon{border-color:var(--red);background:var(--red)}.queue-row{align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card);border:1px solid #0000;display:flex}.queue-row[data-state=failed]{border-color:var(--red)}.queue-row__thumb{width:128px;height:72px}.queue-row__main{gap:var(--sp-2);flex-direction:column;flex:1;min-width:0;display:flex}.queue-row__head{justify-content:space-between;align-items:flex-start;gap:var(--sp-4);min-height:var(--h-btn-sm);display:flex}.queue-row__title{min-width:0;font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-medium);padding-top:3px}.queue-row__actions{align-items:center;gap:var(--sp-2);flex:none;display:flex}.queue-row .queue-row__retry{background:var(--blue-tint-10)}.queue-row .queue-row__retry:hover:not(:disabled){background:var(--blue-tint-16)}.queue-row__badge{align-items:center;gap:var(--sp-1);border-radius:var(--r-pill);background:var(--fill-12);height:24px;color:var(--text-secondary);font-size:var(--fs-caption);white-space:nowrap;padding:0 10px;line-height:1;display:inline-flex}.queue-row__meta{margin-top:calc(var(--sp-2) * -1);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.queue-row__progress{align-items:center;gap:var(--sp-3);display:flex}.queue-row__track{background:var(--track);border-radius:3px;flex:1;height:6px;overflow:hidden}.queue-row__fill{background:var(--blue);height:100%;transition:width var(--dur) var(--ease);border-radius:3px}.queue-row__percent{text-align:right;min-width:40px;font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;flex:none}.queue-row__status{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.queue-row__status--transfer{font-variant-numeric:tabular-nums}.queue-row[data-state=paused] .queue-row__fill{background:var(--orange)}.queue-row[data-state=done] .queue-row__fill{background:var(--green)}.queue-row[data-state=cancelled] .queue-row__fill{background:var(--text-tertiary)}.queue-row[data-state=failed] .queue-row__fill{background:var(--red)}.queue-row[data-state=failed] .queue-row__percent,.queue-row[data-state=failed] .queue-row__status{color:var(--red)}.queue{gap:var(--sp-6);padding:var(--page-pad-y) var(--page-pad-x) var(--sp-8);flex-direction:column;display:flex}.queue__head{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.queue__tools{gap:var(--sp-3);display:flex}.queue .queue__tool{height:36px;padding:0 var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-body);line-height:var(--lh-body)}.queue__bar{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-top:calc(var(--sp-1) * -1);display:flex}.queue__count{align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);display:inline-flex}.queue__list{gap:var(--sp-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.queue__pools{gap:var(--sp-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.queue__pool{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-4);border-radius:var(--r-md);background:var(--orange-tint-14);color:var(--orange-text);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-medium);display:flex}.queue__pool-text{flex:1;min-width:0}.queue__panel{border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card)}.queue__panel--fill{justify-content:center;align-items:center;min-height:max(420px,100vh - 233px);display:flex}.queue__panel--fill .empty{padding:0}.cdlg{gap:var(--sp-3);flex-direction:column;margin:0;display:flex}.cdlg__step{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-medium);margin:0}.cdlg__url{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--blue-tint-10);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-medium);overflow-wrap:anywhere}.cdlg__url--plain{background:var(--fill-8);color:var(--text-primary);font-family:var(--font-mono);-webkit-user-select:all;user-select:all}.cdlg__code-row{align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-5);border-radius:var(--r-lg);background:var(--fill-8);display:flex}.cdlg__code{min-width:0;font-family:var(--font-mono);font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-semibold);letter-spacing:.08em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1}.cdlg__status{align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);margin:0;display:flex}.cdlg__pulse{background:var(--blue);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite cdlg-pulse}.cdlg__hint{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption);font-variant-numeric:tabular-nums;margin:0}.cdlg__msg{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--orange-tint-14);color:var(--orange-text);font-size:var(--fs-caption);line-height:var(--lh-caption);margin:0}@keyframes cdlg-pulse{50%{opacity:.3}}.settings-group{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.settings-group__title{padding:0 var(--sp-1);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-semibold)}.settings-group__card{border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card);overflow:hidden}.settings-row{justify-content:space-between;align-items:center;gap:var(--sp-4);min-height:57px;padding:var(--sp-3) var(--sp-5);display:flex}.settings-row+.settings-row{border-top:1px solid var(--hairline)}.settings-row__text{flex-direction:column;min-width:0;display:flex}.settings-row__label{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-medium)}.settings-row__desc{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.settings-row__control{justify-content:flex-end;align-items:center;gap:var(--sp-3);flex-wrap:wrap;flex:none;max-width:60%;display:flex}.settings-value{color:var(--text-secondary);font-size:var(--fs-body);line-height:var(--lh-body);text-align:right}.settings-toggle{align-items:center;gap:var(--sp-3);display:inline-flex}.settings-toggle__text{color:var(--text-secondary);font-size:var(--fs-body);line-height:var(--lh-body)}.settings-number{align-items:center;gap:var(--sp-2);display:inline-flex}.settings-number__input{width:64px;height:36px;padding:0 var(--sp-3);border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--bg-card);font-size:var(--fs-body);text-align:right;font-variant-numeric:tabular-nums;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease)}.settings-number__input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-tint-24);outline:0}.settings-number__input:disabled{background:var(--fill-8);color:var(--text-disabled);cursor:not-allowed}.settings-number__unit{color:var(--text-secondary);font-size:var(--fs-body)}.storage-card{gap:var(--sp-3);padding:var(--sp-5);border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.storage-card--empty{justify-content:center;min-height:120px}.storage-card__error{align-items:center;gap:var(--sp-2);color:var(--text-secondary);display:flex}.storage-card__error span{flex:1}.storage-card__head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.storage-card__used{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-semibold)}.storage-card__total{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.storage-card__bar{background:var(--track);border-radius:4px;height:8px;display:flex;overflow:hidden}.storage-card__seg{height:100%;display:block}.storage-card__seg--media{background:var(--blue)}.storage-card__seg--other{background:var(--fill-24)}.storage-card__legend{align-items:center;gap:var(--sp-2) var(--sp-4);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);flex-wrap:wrap;display:flex}.storage-card__key:before{content:"";background:var(--blue);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.storage-card__key--db:before{background:var(--orange)}.storage-card__free{margin-left:auto}.storage-card__note{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.storage-card__note--low{color:var(--orange-text);font-weight:var(--fw-medium)}.storage-card__llm{gap:var(--sp-3);margin:var(--sp-2) 0 0;padding-top:var(--sp-4);border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.storage-card__llm dt{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.storage-card__llm dd{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;margin:0}.settings{gap:var(--sp-6);padding:var(--page-pad-y) var(--page-pad-x) var(--sp-8);flex-direction:column;display:flex}.settings__cols{align-items:start;gap:var(--sp-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings__col{gap:var(--sp-6);flex-direction:column;min-width:0;display:flex}.settings__notice{align-items:center;gap:var(--sp-2);height:40px;padding:0 var(--sp-4);border-radius:var(--r-md);background:var(--fill-8);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);display:flex}.settings__panel{border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card)}.account-card{align-items:center;gap:var(--sp-4);padding:var(--sp-5);display:flex}.account-card__avatar{background:var(--fill-12);width:56px;height:56px;color:var(--text-tertiary);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.account-card__text{flex:1;min-width:0}.account-card__title{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-semibold)}.account-card__desc{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}@media (width<=1024px){.settings__cols{grid-template-columns:minmax(0,1fr)}}.bulk-bar{bottom:var(--sp-8);z-index:20;align-items:center;gap:var(--sp-3);width:min(576px,100%);padding:var(--sp-3) var(--sp-4);border:1px solid var(--hairline);border-radius:var(--r-card);background:var(--bg-card-glass);box-shadow:var(--shadow-float);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);align-self:center;margin-top:auto;display:flex;position:sticky}.bulk-bar__text{flex:1;min-width:0}.bulk-bar__title{font-size:var(--fs-body);line-height:22px;font-weight:var(--fw-semibold)}.bulk-bar__sub{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.bulk-bar .btn--md{height:40px;font-size:var(--fs-body)}.channel-row{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) var(--sp-2) var(--sp-2);border-radius:var(--r-lg);transition:background var(--dur-fast) var(--ease);display:flex}.channel-row:hover{background:var(--fill-8)}.channel-row[data-selected]{background:var(--blue-tint-10)}.channel-row__main{align-items:center;gap:var(--sp-3);min-width:0;padding:var(--sp-1) var(--sp-1) var(--sp-1) var(--sp-2);border-radius:var(--r-md);text-align:left;background:0 0;border:0;flex:1;display:flex}.channel-avatar{border-radius:50%;width:40px;height:40px}.channel-row__text{flex-direction:column;min-width:0;display:flex}.channel-row__title{-webkit-line-clamp:1;line-clamp:1;font-size:var(--fs-body);line-height:22px;font-weight:var(--fw-medium);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.channel-row__sub{font-size:var(--fs-caption);line-height:var(--lh-caption)}.channel-row__sub--new{color:var(--blue)}.channel-row__sub--muted{color:var(--text-secondary)}.channel-row__auto{flex-direction:column;flex:none;align-items:center;gap:2px;display:flex}.channel-row__auto-label{color:var(--text-tertiary);font-size:var(--fs-micro);line-height:var(--lh-micro)}.channel-list{border-radius:var(--r-card);background:var(--bg-card);min-height:320px;max-height:calc(100vh - 177px);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.channel-list__head,.channel-list__foot{align-items:center;gap:var(--sp-2);height:52px;padding:0 var(--sp-6);flex:none;display:flex}.channel-list__head{border-bottom:1px solid var(--hairline)}.channel-list__title{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-semibold)}.channel-list__count{min-width:24px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--fill-12);color:var(--text-secondary);font-size:var(--fs-caption);text-align:center;line-height:20px}.channel-list__search{padding:var(--sp-3) var(--sp-3) 0}.channel-list__search .icon-btn{width:24px;height:24px}.channel-list__rows{min-height:0;padding:var(--sp-2);flex-direction:column;flex:1;gap:2px;margin:0;list-style:none;display:flex;overflow-y:auto}.channel-list__empty{padding:var(--sp-8) var(--sp-4);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);text-align:center;flex:1;margin:0}.channel-list__skeleton{align-items:center;gap:var(--sp-3);height:72px;padding:0 var(--sp-3) 0 var(--sp-4);display:flex}.channel-list__skeleton-text{gap:var(--sp-2);flex-direction:column;flex:1;display:flex}.channel-list__foot{border-top:1px solid var(--hairline);justify-content:space-between}.channel-list__synced{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.channel-list .channel-list__refresh{color:var(--blue)}.channel-list__refresh--spin svg{animation:.8s linear infinite channel-list-spin}@keyframes channel-list-spin{to{transform:rotate(360deg)}}.sub-card{border-radius:var(--r-card);background:var(--bg-card);min-width:0;box-shadow:var(--shadow-card);transition:box-shadow var(--dur) var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.sub-card[data-selected]{box-shadow:0 0 0 2px var(--blue), var(--shadow-card)}.sub-card[data-mode=failed]{box-shadow:0 0 0 1px var(--red), var(--shadow-card)}.sub-card__media{position:relative}.sub-card__media[data-selectable]{cursor:pointer}.sub-card .sub-card__thumb{aspect-ratio:16/9;border-radius:0;width:100%}.sub-card__play{width:40px;height:40px;color:var(--text-primary);pointer-events:none;background:#ffffffe0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sub-card__duration{right:var(--sp-2);bottom:var(--sp-2);border-radius:var(--r-xs);background:var(--scrim-strong);color:var(--text-on-accent);font-size:var(--fs-micro);line-height:var(--lh-micro);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;padding:1px 6px;position:absolute}.sub-card__check{top:var(--sp-2);left:var(--sp-2);border:1.5px solid var(--checkbox-line);width:24px;height:24px;color:var(--text-on-accent);transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:#ffffffe6;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.sub-card__check[aria-checked=true]{border-color:var(--blue);background:var(--blue)}.sub-card__flag{top:var(--sp-2);left:var(--sp-2);height:22px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--orange-soft);color:var(--orange-text);font-size:var(--fs-micro);line-height:22px;font-weight:var(--fw-semibold);position:absolute}.sub-card__corner{top:var(--sp-2);right:var(--sp-2);align-items:center;display:flex;position:absolute}.sub-card__badge{height:22px;padding:0 var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-micro);line-height:22px;font-weight:var(--fw-semibold);white-space:nowrap;background:#ffffffeb}.sub-card__badge--new{color:var(--blue)}.sub-card__badge--neutral{color:var(--text-secondary)}.sub-card__badge--warn{color:var(--orange-text)}.sub-card__badge--ok{color:var(--green)}.sub-card__badge--danger{color:var(--red)}.sub-card .sub-card__ignore{background:var(--scrim-strong);width:0;height:28px;color:var(--text-on-accent);opacity:0;transition:width var(--dur-fast) var(--ease), margin var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);margin-left:0;overflow:hidden}.sub-card:hover .sub-card__ignore,.sub-card:focus-within .sub-card__ignore{opacity:1;width:28px;margin-left:6px}.sub-card .sub-card__ignore:hover:not(:disabled){background:var(--scrim-strong);color:var(--text-on-accent);filter:brightness(1.25)}@media (hover:none){.sub-card .sub-card__ignore{opacity:1;width:28px;margin-left:6px}}.sub-card__body{align-items:flex-start;gap:var(--sp-1);padding:var(--sp-3);flex-direction:column;display:flex}.sub-card__title{-webkit-line-clamp:2;line-clamp:2;font-size:var(--fs-body);line-height:24px;font-weight:var(--fw-medium);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sub-card__title a{color:inherit}.sub-card__meta{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.sub-card__warn{color:var(--orange-text);font-size:var(--fs-caption);line-height:var(--lh-caption)}.sub-card__link{color:var(--blue);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-medium);background:0 0;border:0;padding:0}.sub-card__link:hover:not(:disabled){color:var(--blue-hover)}.sub-card__link:disabled{color:var(--text-disabled);cursor:not-allowed}.sub-card[data-mode=ignored] .sub-card__media,.sub-card[data-mode=ignored] .sub-card__title,.sub-card[data-mode=ignored] .sub-card__meta{opacity:.5}.subs{gap:var(--sp-6);padding:var(--page-pad-y) var(--page-pad-x) var(--sp-8);flex-direction:column;display:flex}.subs__head{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.subs__account{align-items:center;gap:var(--sp-3);display:flex}.subs__account-state{align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);display:inline-flex}.subs__dot{background:var(--green);border-radius:50%;width:8px;height:8px}.subs__banner{align-items:center;gap:var(--sp-3);margin-top:calc(var(--sp-2) * -1);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--fill-8);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);display:flex}.subs__banner>svg{flex:none}.subs__banner>p{flex:1;min-width:0}.subs__banner--warn{background:var(--orange-tint-14);color:var(--orange-text)}.subs__cols{align-items:start;gap:var(--sp-6);grid-template-columns:280px minmax(0,1fr);display:grid}.subs__pane{gap:var(--sp-5);flex-direction:column;min-width:0;min-height:calc(100vh - 177px);display:flex}.subs__pane-head{align-items:center;gap:var(--sp-3);display:flex}.subs__pane-title{flex:1;min-width:0}.subs__channel{font-size:var(--fs-headline);line-height:var(--lh-headline);font-weight:var(--fw-semibold)}.subs__channel-meta{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.subs__select-all{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-medium);background:0 0;border:0;display:inline-flex}.subs__select-all:disabled{color:var(--text-disabled);cursor:not-allowed}.subs__select-dot{border:1.5px solid var(--checkbox-line);background:var(--bg-card);width:22px;height:22px;color:var(--text-on-accent);border-radius:50%;justify-content:center;align-items:center;display:flex}.subs__select-dot[data-on]{border-color:var(--blue);background:var(--blue)}.subs__grid{align-items:start;gap:var(--sp-6) var(--sp-8);grid-template-columns:repeat(auto-fill,minmax(224px,1fr));margin:0;padding:0;list-style:none;display:grid}.subs__skel-card{border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card);overflow:hidden}.subs__skel-body{gap:var(--sp-2);padding:var(--sp-3);flex-direction:column;display:flex}.subs__skel-head{gap:var(--sp-2);flex-direction:column;display:flex}.subs__more{justify-content:center;display:flex}.subs__end{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption);margin:0}.subs__panel{border-radius:var(--r-card);background:var(--bg-card);box-shadow:var(--shadow-card)}.subs__panel--center{justify-content:center;align-items:center;gap:var(--sp-6);min-height:max(560px,100vh - 177px);padding:var(--sp-8);flex-direction:column;display:flex}.subs__panel--center .empty{padding:0}.subs__features{justify-content:center;gap:var(--sp-4) var(--sp-8);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.subs__features li{align-items:center;gap:var(--sp-3);display:flex}.subs__features span:last-child{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);flex-direction:column;display:flex}.subs__features strong{color:var(--text-primary);font-size:var(--fs-body);line-height:22px;font-weight:var(--fw-semibold)}.subs__feature-icon{border-radius:var(--r-lg);background:var(--blue-tint-10);width:44px;height:44px;color:var(--blue);flex:none;justify-content:center;align-items:center;display:flex}.subs__privacy{align-items:center;gap:var(--sp-2);color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption);display:flex}@media (width<=1024px){.subs__cols{grid-template-columns:minmax(0,1fr)}.subs__pane{min-height:0}.subs .channel-list{max-height:420px}}.summary-card{gap:var(--sp-3);padding:var(--sp-5);border-radius:var(--r-card);background:var(--fill-8);flex-direction:column;display:flex}.summary-card__head{align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-semibold);margin:0;display:flex}.summary-card__head svg{color:var(--blue)}.summary-card__main,.summary-card__second{white-space:pre-line}.summary-card__second{margin-top:calc(var(--sp-1) * -1);color:var(--text-secondary)}.article{gap:var(--sp-8);flex-direction:column;min-width:0;display:flex}.article__chapter{gap:var(--sp-10);min-width:0;padding:var(--sp-8) var(--sp-4) 0;scroll-margin-top:var(--article-sticky-top,136px);flex-direction:column;display:flex}.article__chapter-title{gap:var(--sp-2);font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-semibold);letter-spacing:-.01em;flex-direction:column;margin:0;display:flex}.article__chapter-sub{color:var(--text-secondary);font-size:var(--fs-headline);line-height:var(--lh-headline)}.article__para{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.article__src,.article__tr{white-space:pre-line;font-size:16px;line-height:28px}.article__tr{color:var(--text-secondary)}.article__para[data-seekable]{margin:calc(var(--sp-2) * -1) calc(var(--sp-3) * -1);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast) var(--ease);position:relative}.article__para[data-seekable]:before{content:"";top:var(--sp-2);bottom:var(--sp-2);background:var(--blue);opacity:0;width:3px;transition:opacity var(--dur-fast) var(--ease);border-radius:2px;position:absolute;left:0}@media (hover:hover){.article__para[data-seekable]:hover{background:var(--fill-8)}}.article__para[data-seekable][data-active],.article__para[data-seekable][data-active]:hover{background:var(--blue-tint-10)}.article__para[data-seekable][data-active]:before{opacity:1}.toc{gap:var(--sp-2);flex-direction:column;display:flex}.toc__label{padding:0 var(--sp-3);color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-medium);margin:0}.toc__hint{padding:0 var(--sp-3);color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption);margin:0}.toc__list{max-height:calc(100vh - var(--article-sticky-top,136px) - 64px);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.toc__item{width:100%;min-height:36px;padding:7px var(--sp-3);border-radius:var(--r-sm);color:var(--text-secondary);font-size:var(--fs-caption);text-align:left;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:0;line-height:22px;display:block}.toc__item:hover{background:var(--fill-8);color:var(--text-primary)}.toc__item[aria-current=location]{background:var(--blue-tint-10);color:var(--blue);font-weight:var(--fw-semibold)}.export-menu__trigger{height:var(--h-btn-sm);padding:0 var(--sp-4) 0 var(--sp-3);border-radius:var(--r-sm);background:var(--blue);color:var(--text-on-accent);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-semibold);white-space:nowrap;transition:background var(--dur-fast) var(--ease);border:0;align-items:center;gap:6px;display:inline-flex}.export-menu__trigger:hover:not(:disabled),.export-menu__trigger[data-state=open]{background:var(--blue-hover)}.export-menu__trigger:disabled{background:var(--fill-12);color:var(--text-disabled);cursor:not-allowed}.export-menu{z-index:20;min-width:200px;padding:var(--sp-2);border-radius:var(--r-lg);background:var(--bg-overlay);box-shadow:var(--shadow-float);outline:0}.export-menu__group{flex-direction:column;display:flex}.export-menu__label{padding:var(--sp-2) var(--sp-3) var(--sp-1);color:var(--text-tertiary);font-size:var(--fs-micro);line-height:var(--lh-micro);font-weight:var(--fw-semibold)}.export-menu__sep{height:1px;margin:var(--sp-2) var(--sp-1);background:var(--hairline)}.export-menu__item{padding:7px var(--sp-3);border-radius:var(--r-sm);color:var(--text-primary);font-size:var(--fs-body);cursor:pointer;outline:0;line-height:22px;display:block}.export-menu__item[data-highlighted]{background:var(--blue-tint-10);color:var(--blue)}.subtitle-overlay{pointer-events:none;justify-content:center;max-height:85%;padding:0 4% 4.5%;font-size:clamp(12px,2.7cqw,22px);line-height:1.4;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.subtitle-overlay__plate{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;text-align:center;text-shadow:0 1px 2px #0009;text-wrap:balance;overflow-wrap:anywhere;background:#000000a8;border-radius:.55em;flex-direction:column;align-items:center;gap:.15em;max-width:100%;margin:0;padding:.35em .75em .4em;display:flex}.subtitle-overlay__src{font-size:.86em;font-weight:var(--fw-regular);opacity:.88}.subtitle-overlay__tr{font-weight:var(--fw-semibold)}.mini-player{top:var(--toolbar-h);z-index:1;border-bottom:1px solid var(--hairline);background:var(--bg-toolbar);-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);position:sticky}.mini-player__inner{align-items:center;gap:var(--sp-3);height:var(--player-h,64px);padding:0 var(--page-pad-x);display:flex}.mini-player .mini-player__thumb{border-radius:var(--r-xs);flex:none;width:56px;height:40px}.mini-player__info{min-width:0;margin-right:var(--sp-6);flex:0 200px}.mini-player__title,.mini-player__channel{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mini-player__title{font-size:var(--fs-caption);line-height:18px;font-weight:var(--fw-semibold)}.mini-player__channel{color:var(--text-tertiary);font-size:var(--fs-micro);line-height:16px}.mini-player__time{min-width:36px;color:var(--text-secondary);font-size:var(--fs-caption);font-variant-numeric:tabular-nums;text-align:center;flex:none}.mini-player__slider{cursor:pointer;touch-action:none;flex:1;align-items:center;min-width:80px;height:20px;display:flex;position:relative}.mini-player__track{background:var(--track);border-radius:2px;width:100%;height:4px;overflow:hidden}.mini-player__fill{background:var(--blue);border-radius:2px;height:100%}.mini-player__knob{width:12px;height:12px;box-shadow:var(--shadow-knob);opacity:0;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);pointer-events:none;background:#fff;border-radius:50%;margin:-6px 0 0 -6px;position:absolute;top:50%;transform:scale(.6)}.mini-player__slider:hover .mini-player__knob,.mini-player__slider:focus-visible .mini-player__knob,.mini-player__slider[data-scrubbing] .mini-player__knob{opacity:1;transform:none}.mini-player__rate{height:24px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--fill-12);color:var(--text-secondary);font-size:var(--fs-micro);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;border:0;flex:none}.mini-player__rate:hover{background:var(--fill-16);color:var(--text-primary)}.mini-player__screen-toggle,.mini-player__subs-toggle{height:24px;padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--fill-12);color:var(--text-secondary);font-size:var(--fs-micro);font-weight:var(--fw-semibold);white-space:nowrap;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);border:0;flex:none}.mini-player__screen-toggle:hover,.mini-player__subs-toggle:hover{background:var(--fill-16);color:var(--text-primary)}.mini-player__screen-toggle[aria-expanded=true],.mini-player__subs-toggle[aria-pressed=true]{background:var(--blue-tint-10);color:var(--blue)}.mini-player__screen-toggle[aria-expanded=true]:hover,.mini-player__subs-toggle[aria-pressed=true]:hover{background:var(--blue-tint-16)}.mini-player__stage{max-width:calc(968px + 2 * var(--page-pad-x));padding:0 var(--page-pad-x) var(--sp-3);margin:0 auto}.mini-player__stage[hidden]{display:none}.mini-player__screen{aspect-ratio:16/9;border-radius:var(--r-card);width:min(100%,720px,80vh);box-shadow:var(--shadow-card);animation:mini-player-reveal var(--dur) var(--ease);background:#000;margin:0 auto;position:relative;overflow:hidden;container-type:inline-size}.mini-player__screen video{object-fit:contain;cursor:pointer;width:100%;height:100%;display:block}@keyframes mini-player-reveal{0%{opacity:0;transform:translateY(-6px)}}@media (width>=1101px){.mini-player__screen{margin-left:0}}@media (prefers-reduced-motion:reduce){.mini-player__screen{animation:none}}.mini-player__collapse svg{transition:transform var(--dur) var(--ease)}.mini-player[data-collapsed] .mini-player__collapse svg{transform:rotate(180deg)}.mini-player[data-collapsed] .mini-player__inner{height:44px}.mini-player[data-collapsed] .mini-player__thumb,.mini-player[data-collapsed] .mini-player__channel,.mini-player[data-collapsed] .mini-player__time,.mini-player[data-collapsed] .mini-player__slider,.mini-player[data-collapsed] .mini-player__rate,.mini-player[data-collapsed] .mini-player__screen-toggle,.mini-player[data-collapsed] .mini-player__subs-toggle{display:none}.mini-player[data-collapsed] .mini-player__info{flex:1;order:2;margin-right:0}.mini-player[data-collapsed] .mini-player__play{order:1}.mini-player[data-collapsed] .mini-player__collapse{order:3}.quality-banner{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--orange-tint-14);color:var(--orange-text);display:flex}.quality-banner>svg{flex:none;margin-top:2px}.quality-banner__body{min-width:0}.quality-banner__title{font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-semibold);margin:0}.quality-banner__text{font-size:var(--fs-caption);line-height:var(--lh-caption);margin:0}.quality-banner__flags{gap:var(--sp-1) var(--sp-2);margin:var(--sp-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.quality-banner__flags li{padding:0 var(--sp-2);border-radius:var(--r-xs);font-family:var(--font-mono);font-size:var(--fs-micro);background:#fff9;line-height:20px}.video-detail{--player-h:64px;--article-sticky-top:calc(var(--toolbar-h) + var(--sp-6))}.video-detail[data-player]{--article-sticky-top:calc(var(--toolbar-h) + var(--player-h) + var(--sp-4))}.video-detail[data-panel]{--article-sticky-top:calc(var(--toolbar-h) + var(--player-h) + min(405px, 45vh) + var(--sp-3) + var(--sp-4))}.vd-page{padding:var(--page-pad-y) var(--page-pad-x) 96px;grid-template-columns:minmax(0,720px) 200px;justify-content:center;align-items:start;column-gap:48px;display:grid}.vd-main{gap:var(--sp-5);flex-direction:column;min-width:0;display:flex}.vd-aside{top:calc(var(--article-sticky-top,136px) - var(--sp-4));padding-top:var(--sp-5);align-self:start;position:sticky}.vd-back{align-self:flex-start;align-items:center;gap:var(--sp-1);margin-left:var(--sp-4);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:var(--fw-medium);display:inline-flex}.vd-back:hover{color:var(--blue-hover)}.vd-head{gap:var(--sp-4);flex-direction:column;display:flex}.vd-titles{gap:var(--sp-2);padding:0 var(--sp-4);flex-direction:column;display:flex}.vd-subtitle{color:var(--text-secondary);font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-semibold)}.vd-meta{align-items:center;gap:var(--sp-2) var(--sp-2);padding:0 var(--sp-4);color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);flex-wrap:wrap;display:flex}.vd-meta__avatar{color:#fff;width:24px;height:24px;font-size:var(--fs-micro);font-weight:var(--fw-semibold);background:linear-gradient(135deg,#b39dff 0%,#7a6cf0 100%);border-radius:50%;flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.vd-meta__text{min-width:0}.vd-chip,.vd-badge{align-items:center;gap:var(--sp-1);border-radius:var(--r-pill);height:24px;font-size:var(--fs-micro);line-height:1;font-weight:var(--fw-semibold);white-space:nowrap;padding:0 10px;display:inline-flex}.vd-chip{background:var(--fill-12);color:var(--text-secondary)}.vd-badge{margin-left:auto}.vd-badge[data-tone=green]{background:var(--green-tint-14);color:#1f8a3c}.vd-badge[data-tone=orange]{background:var(--orange-tint-14);color:var(--orange-text)}.vd-badge[data-tone=red]{background:var(--red-tint-10);color:var(--red-pressed)}.vd-badge[data-tone=gray]{background:var(--fill-12);color:var(--text-secondary)}.vd-admin{padding:0 var(--sp-4);color:var(--text-tertiary);font-size:var(--fs-micro);line-height:var(--lh-micro)}.vd-bar{justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.vd-progress{gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-card);background:var(--blue-tint-10);flex-direction:column;display:flex}.vd-progress__head{justify-content:space-between;align-items:baseline;gap:var(--sp-4);display:flex}.vd-progress__title{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--fw-semibold)}.vd-progress__percent{color:var(--blue);font-size:var(--fs-body);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums}.vd-progress__track{background:var(--fill-12);border-radius:3px;height:6px;overflow:hidden}.vd-progress__fill{background:var(--blue);height:100%;transition:width var(--dur) var(--ease);border-radius:3px}.vd-progress__hint{color:var(--text-secondary);font-size:var(--fs-caption);line-height:var(--lh-caption);margin:0}.vd-placeholder{gap:var(--sp-5);padding:var(--sp-8) var(--sp-4) 0;flex-direction:column;display:flex}.vd-placeholder__lines{gap:var(--sp-3);flex-direction:column;display:flex}.vd-placeholder__caption{color:var(--text-tertiary);font-size:var(--fs-caption);line-height:var(--lh-caption)}.vd-panel{border-radius:var(--r-card);background:var(--bg-card);min-height:384px;box-shadow:var(--shadow-card);justify-content:center;align-items:center;display:flex}.vd-panel .empty{padding:var(--sp-8) var(--sp-6)}.vd-center{min-height:calc(100vh - var(--toolbar-h));justify-content:center;align-items:center;display:flex}.vd-center .empty{padding:0}@media (width<=1100px){.vd-page{grid-template-columns:minmax(0,720px)}.vd-aside{display:none}}:root{--blue:#007aff;--blue-hover:#2e8bff;--blue-pressed:#0062cc;--green:#34c759;--red:#ff3b30;--red-pressed:#d70015;--orange:#ff9500;--orange-text:#b35f00;--orange-soft:#ffe9c7;--focus-ring:#007aff;--blue-tint-10:#007aff1a;--blue-tint-16:#007aff29;--blue-tint-24:#007aff3d;--green-tint-14:#34c75924;--red-tint-10:#ff3b301a;--red-tint-16:#ff3b3029;--red-tint-24:#ff3b303d;--red-ring-30:#ff3b304d;--orange-tint-14:#ff950024;--fill-8:#76768014;--fill-12:#7676801f;--fill-16:#76768029;--fill-24:#7676803d;--text-primary:#1d1d1f;--text-secondary:#6e6e73;--text-tertiary:#8e8e93;--text-disabled:#c7c7cc;--text-on-accent:#fff;--bg-content:#f5f5f7;--bg-sidebar:#f2f2f7;--bg-sidebar-glass:#f2f2f7b8;--bg-card:#fff;--bg-card-glass:#ffffffe0;--bg-toolbar:#ffffffb8;--bg-overlay:#fff;--bg-board:#fbfbfd;--scrim:#0000003d;--scrim-strong:#0009;--toast-bg:#000000b8;--hairline:#00000014;--track:#e5e5ea;--checkbox-line:#8e8e93;--glow-blue:#007aff4d;--glow-purple:#c7aeff80;--grad-brand:linear-gradient(135deg, #4da6ff 0%, #0a6cff 100%);--grad-avatar:linear-gradient(135deg, #ffb36b 0%, #ff7a9c 100%);--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-display:34px;--lh-display:1.18;--fs-title-lg:28px;--lh-title-lg:1.29;--fs-title:22px;--lh-title:1.27;--fs-headline:17px;--lh-headline:1.41;--fs-body:15px;--lh-body:1.6;--fs-caption:13px;--lh-caption:1.54;--fs-micro:11px;--lh-micro:1.45;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--r-xs:6px;--r-sm:8px;--r-md:10px;--r-lg:12px;--r-input:14px;--r-card:16px;--r-modal:20px;--r-panel:24px;--r-pill:999px;--shadow-card:0 1px 2px #0000000a, 0 8px 24px #0000000f;--shadow-float:0 4px 8px #0000000f, 0 24px 48px #00000029;--shadow-segment:0 1px 3px #00000024, 0 0 1px #0000000a;--shadow-knob:0 2px 4px #0003, 0 0 1px #0000001a;--shadow-dot:0 1px 2px #0000000f;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sidebar-w:240px;--toolbar-h:56px;--page-pad-x:32px;--page-pad-y:24px;--h-btn-sm:32px;--h-btn:44px;--h-input:56px;--h-input-sm:40px;--ease:cubic-bezier(.2, .8, .2, 1);--dur-fast:.12s;--dur:.2s}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-content);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3,p{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--blue);text-decoration:none}:focus-visible{outline:3px solid var(--blue-tint-24);outline-offset:1px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.t-display{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-semibold);letter-spacing:-.01em}.t-title-lg{font-size:var(--fs-title-lg);line-height:var(--lh-title-lg);font-weight:var(--fw-semibold)}.t-title{font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-semibold)}.t-wrap{overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
