.page-info .info-identity{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.page-info .info-identity-main{display:flex;align-items:center;gap:var(--space-4);min-width:0}.page-info .info-identity .page-title{font-size:var(--text-display);font-weight:var(--weight-bold);letter-spacing:-.01em}.page-info .info-identity-meta{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-small);display:flex;align-items:center;flex-wrap:wrap}.page-info .info-identity-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.page-info .info-section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-14);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.page-info .info-identity+.info-section-heading-row{margin-top:var(--space-8)}.page-info .info-section-heading{font-size:var(--text-h1);font-weight:var(--weight-bold);letter-spacing:-.01em;margin:0}.page-info .info-section-meta{margin-top:var(--space-3);margin-bottom:var(--space-3);color:var(--color-text-muted);font-size:var(--text-small)}.page-info .info-section-meta:not(:has(+.attachment-list)){margin-bottom:var(--space-8)}.page-info .info-section-heading-row+*{margin-top:var(--space-4)}.page-info .info-section-heading-row+.info-section-meta+*{margin-top:0}.page-info .info-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-5);margin-bottom:var(--space-5)}.page-info .info-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.page-info .info-panel-title{font-size:var(--text-subhead);font-weight:var(--weight-semibold)}.page-info .info-panel-meta{margin-top:2px;color:var(--color-text-muted);font-size:var(--text-small)}.page-info .attachment-list{display:flex;flex-direction:column;gap:var(--space-3)}.page-info .attachment-row{display:grid;grid-template-columns:1fr 200px auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.page-info .attachment-row:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.page-info .attachment-main{display:flex;align-items:center;gap:var(--space-3);min-width:0}.page-info .attachment-icon{color:var(--color-primary);flex-shrink:0}.page-info .attachment-info{display:flex;flex-direction:column;min-width:0}.page-info .attachment-name{font-weight:var(--weight-semibold);font-size:var(--text-body);color:var(--color-text)}.page-info .attachment-meta,.page-info .attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-info .attachment-meta{margin-top:2px;color:var(--color-text-muted);font-size:var(--text-small)}.page-info .attachment-progress{display:flex;align-items:center;gap:var(--space-2)}.page-info .cycle-progress-label{font-size:var(--text-small);color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.page-info .attachment-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0}.page-info .cycle-progress{flex:1 1;height:6px;background:var(--color-canvas);border-radius:999px;overflow:hidden}.page-info .cycle-progress-fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width .24s ease}.page-info .schedule-counts{--lib-1:#2563eb;--lib-2:#f97316;--lib-3:#16a34a;--lib-4:#7c3aed;--lib-5:#db2777;--lib-more:#64748b;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-5)}.page-info .lib-color-1{--lib:var(--lib-1)}.page-info .lib-color-2{--lib:var(--lib-2)}.page-info .lib-color-3{--lib:var(--lib-3)}.page-info .lib-color-4{--lib:var(--lib-4)}.page-info .lib-color-5{--lib:var(--lib-5)}.page-info .lib-color-more{--lib:var(--lib-more)}.page-info .schedule-counts-legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.page-info .schedule-counts-legend-item{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--color-text)}.page-info .schedule-lib-swatch{width:10px;height:10px;border-radius:3px;background:var(--lib,var(--color-primary));flex-shrink:0}.page-info .schedule-lib-swatch-open{background:var(--color-surface-muted);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.page-info .schedule-count-bar{display:flex;gap:3px;height:10px}.page-info .schedule-count-seg{flex:0 0 18px;border-radius:2px;background:var(--lib,var(--color-primary))}.page-info .schedule-count-seg.is-open{background:var(--color-surface-muted);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.page-info .schedule-count-row{display:grid;grid-template-columns:40px 76px auto 1fr;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.page-info .schedule-count-row:last-child{border-bottom:0}.page-info .schedule-count-row-day{font-size:var(--text-micro);font-weight:var(--weight-semibold);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase}.page-info .schedule-count-row-total{font-size:var(--text-small);color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-info .schedule-count-row-total strong{font-size:var(--text-subhead);font-weight:var(--weight-bold);color:var(--color-text);margin-right:3px}.page-info .schedule-count-row-breakdown{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);justify-content:flex-end}.page-info .schedule-lib-chip{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-small);color:var(--color-text-muted);white-space:nowrap}.page-info .schedule-lib-chip b{color:var(--color-text);font-weight:var(--weight-semibold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-info .info-stats-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.page-info .info-stats{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-6)}.page-info .info-stat-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.page-info .info-stat-label{font-size:var(--text-micro);font-weight:var(--weight-semibold);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase}.page-info .info-stat-value{font-size:26px;font-weight:var(--weight-bold);color:var(--color-text);letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:2px}.page-info .info-stat-delta{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-small);margin-top:2px}.page-info .info-stat-delta-label{color:var(--color-text-muted)}.page-info .info-stat-delta-neutral{color:var(--color-text-subtle);font-size:var(--text-small);font-weight:var(--weight-medium)}.page-info .info-chart{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-5);margin-bottom:var(--space-5)}.page-info .info-chart-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.page-info .info-chart-title{font-size:var(--text-subhead);font-weight:var(--weight-semibold)}.page-info .info-chart-legend{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--color-text-muted)}.page-info .info-chart-legend-dot{width:10px;height:10px;border-radius:999px;background:var(--color-primary)}.page-info .info-chart-canvas{position:relative}.page-info .info-chart-area{width:100%;height:240px;display:block;color:var(--color-primary)}.page-info .info-chart-area .info-chart-grid{stroke:var(--color-border);stroke-width:1;stroke-dasharray:3 3}.page-info .info-chart-area .info-chart-fill{fill:var(--color-primary-soft);stroke:none}.page-info .info-chart-area .info-chart-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}.page-info .info-chart-points{position:absolute;inset:0;pointer-events:none}.page-info .info-chart-point{position:absolute;width:7px;height:7px;border-radius:999px;background:var(--color-primary);box-shadow:0 0 0 2px var(--color-surface);transform:translate(-50%,-50%);transition:width .12s ease,height .12s ease;pointer-events:auto;cursor:pointer}.page-info .info-chart-point:hover{width:11px;height:11px}.page-info .info-chart-tooltip{position:absolute;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-2) var(--space-3);white-space:nowrap;z-index:1;transform:translate(-50%,calc(-100% - 10px));pointer-events:none}.page-info .info-chart-tooltip-date{font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:2px}.page-info .info-chart-tooltip-metric{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-info .info-chart-tooltip-dot{width:8px;height:8px;border-radius:999px;background:var(--color-primary);flex-shrink:0}.page-info .info-chart-tooltip-value{color:var(--color-text);font-weight:var(--weight-semibold)}.page-info .info-chart-axis{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:var(--text-micro);color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-info .info-top-posts{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:var(--space-5);margin-bottom:var(--space-5)}.page-info .info-top-posts-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.page-info .info-top-posts-title{font-size:var(--text-subhead);font-weight:var(--weight-semibold)}.page-info .info-top-posts-list{display:flex;flex-direction:column;gap:var(--space-2)}.page-info .top-post-row{display:grid;grid-template-columns:32px 48px 1fr auto auto auto auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);transition:background-color .12s ease}.page-info .top-post-row:hover{background:var(--color-surface-hover)}.page-info .top-post-rank{font-size:var(--text-subhead);font-weight:var(--weight-bold);color:var(--color-text-subtle);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-info .top-post-thumb{width:48px;height:48px;border-radius:var(--radius-sm);flex-shrink:0}.page-info .top-post-text{display:flex;flex-direction:column;min-width:0}.page-info .top-post-caption{font-weight:var(--weight-semibold);font-size:var(--text-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-info .top-post-date{margin-top:2px;color:var(--color-text-muted);font-size:var(--text-small)}.page-info .top-post-metric{display:flex;flex-direction:column;align-items:flex-end;min-width:92px}.page-info .top-post-metric-value{font-weight:var(--weight-semibold);font-size:var(--text-body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-info .top-post-metric-label{margin-top:2px;font-size:var(--text-micro);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;font-weight:var(--weight-semibold)}.page-info .info-top-posts-cta{display:flex;justify-content:flex-end;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.page-info .activity-log-link{display:flex;justify-content:center;padding:var(--space-4) 0 0}.page-info .activity-feed{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;margin-bottom:var(--space-4)}.page-info .activity-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3)}.page-info .activity-row{display:grid;grid-template-columns:36px 1fr auto;align-items:flex-start;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.page-info .activity-row:last-child{border-bottom:none}.page-info .activity-icon{width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.page-info .activity-icon.is-success{background:var(--color-success-bg);color:var(--color-success-text)}.page-info .activity-icon.is-error{background:var(--color-danger-bg);color:var(--color-danger-text)}.page-info .activity-icon.is-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.page-info .activity-icon.is-info{background:var(--color-primary-soft);color:var(--color-primary)}.page-info .activity-icon.is-muted{background:var(--color-pill-neutral-bg);color:var(--color-text-muted)}.page-info .activity-main{min-width:0;padding-top:2px}.page-info .activity-title{font-size:var(--text-body);color:var(--color-text);line-height:1.4}.page-info .activity-subject{font-weight:var(--weight-semibold)}.page-info .activity-meta{margin-top:2px;font-size:var(--text-small);color:var(--color-text-muted)}.page-info .activity-post-ref a{display:inline-flex;align-items:center;gap:var(--space-1);vertical-align:bottom;color:var(--color-text-muted);text-decoration:none}.page-info .activity-post-ref a:hover{color:var(--color-primary);text-decoration:underline}.page-info .activity-post-ref .icon{width:12px;height:12px;flex-shrink:0}.page-info .activity-time{font-size:var(--text-small);color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:8px}.page-info .history-table{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.page-info .history-row,.page-info .history-table-head{display:grid;grid-template-columns:1.5fr repeat(5,1fr);grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-3) var(--space-5);align-items:center}.page-info .history-table-head{background:var(--color-canvas);border-bottom:1px solid var(--color-border);font-size:var(--text-micro);font-weight:var(--weight-semibold);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase}.page-info .history-col-stat{text-align:right}.page-info .history-row{padding-top:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.page-info .history-row:nth-child(2n){background:var(--color-surface-hover)}.page-info .history-row:last-child{border-bottom:none}.page-info .history-month,.page-info .history-stat{font-weight:var(--weight-semibold);font-size:var(--text-body);color:var(--color-text)}.page-info .history-stat{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.admin-tools-card{margin-top:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.admin-tools-card .admin-tools-card-summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5)}.admin-tools-card .admin-tools-card-summary::-webkit-details-marker{display:none}.admin-tools-card .admin-tools-card-summary:before{content:"";flex:none;width:0;height:0;border-left:5px solid;border-top:5px solid transparent;border-bottom:5px solid transparent;color:var(--color-text-muted);transition:transform .12s ease}.admin-tools-card[open] .admin-tools-card-summary:before{transform:rotate(90deg)}.admin-tools-card[open] .admin-tools-card-summary{border-bottom:1px solid var(--color-border)}.admin-tools-card .admin-tools-card-summary-text{display:flex;flex-direction:column;min-width:0}.admin-tools-card .admin-tools-card-title{font-size:var(--text-h2);font-weight:var(--weight-semibold);color:var(--color-text)}.admin-tools-card .admin-tools-card-subtitle{margin-top:4px;font-size:var(--text-small);color:var(--color-text-muted)}.admin-tools-card .admin-tools-card-body{padding:var(--space-5)}.admin-tools-card .admin-tools-divider{margin:var(--space-5) 0;border:0;border-top:1px solid var(--color-border)}.admin-tools-card .page-import-section{margin-top:0;padding:0;border:none;border-radius:0;background:transparent;transition:none}.admin-tools-card .page-import-section:has(.page-import-state.is-running){border:none;background:transparent}.page-import-section{margin-top:var(--space-8);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-left-color .2s ease,background-color .2s ease}.page-import-section .page-import-section-head{margin-bottom:var(--space-4)}.page-import-section .page-import-section-title{margin:0;font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--color-text)}.page-import-section .page-import-section-subtitle{margin:4px 0 0;font-size:var(--text-small);color:var(--color-text-muted)}.page-import-section .page-import-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.page-import-section .page-import-state{min-width:0;flex:1 1}.page-import-section .page-import-headline{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--color-text)}.page-import-section .page-import-progress{margin-top:4px;font-size:var(--text-small);color:var(--color-text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-import-section .page-import-progress strong{color:var(--color-text);font-weight:var(--weight-semibold)}.page-import-section .page-import-actions{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-2)}.page-import-section:has(.page-import-state.is-running){border-left:3px solid var(--color-warning,#b45309);background:var(--color-warning-soft,#FFFBEB)}.page-import-section .page-import-state.is-running .page-import-headline{color:var(--color-warning-text,#92400E)}.page-import-section .page-import-spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--color-warning,#b45309);border-right:2px solid transparent;border-radius:50%;animation:page-import-spin .7s linear infinite}@keyframes page-import-spin{to{transform:rotate(1turn)}}.page-import-section .page-import-running-banner{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--color-warning-soft,#FFFBEB);color:var(--color-warning-text,#92400E);font-size:var(--text-small);line-height:1.4}.page-import-section .page-import-state.is-completed .page-import-headline .icon{color:var(--color-success-text,#15803D)}.page-import-section:has(.page-import-state.is-failed){border-left:3px solid var(--color-danger,#b91c1c);background:var(--color-danger-bg,#FEF2F2)}.page-import-section .page-import-state.is-failed .page-import-headline,.page-import-section .page-import-state.is-failed .page-import-headline .icon{color:var(--color-danger-text,#991B1B)}@media (max-width:540px){.page-import-section .page-import-row{flex-direction:column;align-items:stretch}.page-import-section .page-import-actions{align-self:flex-end}}.test-publish-log{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.test-publish-log-head,.test-publish-log-row .tpl-summary{display:grid;grid-template-columns:200px 140px 1fr 220px;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-4)}.test-publish-log-head{border-bottom:1px solid var(--color-border);background:var(--color-surface-muted,#F9FAFB);font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.test-publish-log-row{border-top:1px solid var(--color-border-subtle,var(--color-border))}.test-publish-log-row:first-of-type{border-top:0}.test-publish-log-row .tpl-summary{cursor:pointer;list-style:none;font-size:var(--text-small);color:var(--color-text)}.test-publish-log-row .tpl-summary::-webkit-details-marker{display:none}.test-publish-log-row[open] .tpl-summary{background:var(--color-surface-muted,#F9FAFB)}.test-publish-log-row .tpl-col-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--color-text)}.test-publish-log-row .tpl-col-message{color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-publish-log-row .tpl-col-id code{font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:var(--text-micro);color:var(--color-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;max-width:100%}.test-publish-log-row .tpl-kind-pill{display:inline-flex;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-pill-blue-bg,#DBEAFE);color:var(--color-pill-blue-text,#1E40AF);font-size:var(--text-micro);font-weight:var(--weight-semibold)}.test-publish-log-row .tpl-detail{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-surface-muted,#F9FAFB);border-top:1px solid var(--color-border-subtle,var(--color-border))}.test-publish-log-row .tpl-detail-label{margin:0 0 var(--space-2);font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.test-publish-log-row .tpl-detail-json{margin:0;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:var(--text-micro);color:var(--color-text);white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-height:320px}@media (max-width:720px){.test-publish-log-head,.test-publish-log-row .tpl-summary{grid-template-columns:1fr 100px;grid-template-areas:"time kind" "message message" "id id";row-gap:4px}.test-publish-log .tpl-col-time{grid-area:time}.test-publish-log .tpl-col-kind{grid-area:kind}.test-publish-log .tpl-col-message{grid-area:message;white-space:normal}.test-publish-log .tpl-col-id{grid-area:id}.test-publish-log-row .tpl-detail{grid-template-columns:1fr}}.settings .settings-section{margin-top:var(--space-6)}.settings .section-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.settings .section-heading-row .section-title{margin:0 0 var(--space-1);font-size:var(--text-subhead);font-weight:var(--weight-semibold);color:var(--color-text)}.settings .section-heading-row .section-description{margin:0;font-size:var(--text-small);color:var(--color-text-muted);max-width:640px;line-height:1.5}.settings .connected-pages{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.settings .connected-page-row{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);transition:opacity .12s ease}.settings .connected-page-row:last-child{border-bottom:none}.settings .connected-page-row:has(.switch input:not(:checked)){opacity:.55}.settings .connected-page-info{display:flex;flex-direction:column;gap:2px;min-width:0}.settings .connected-page-name{font-weight:var(--weight-semibold);font-size:var(--text-body);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings .connected-page-meta{font-size:var(--text-small);color:var(--color-text-muted)}.settings .section-title{margin:0 0 var(--space-2);font-size:var(--text-subhead);font-weight:var(--weight-semibold);color:var(--color-text)}.settings .section-description{margin:0;font-size:var(--text-small);color:var(--color-text-muted);line-height:1.5;max-width:560px}.settings .profile-row{display:flex;align-items:flex-start;gap:var(--space-6);margin-top:var(--space-4)}.settings .profile-avatar{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex-shrink:0}.settings .profile-avatar .avatar.avatar-placeholder{width:80px;height:80px;background:var(--color-surface-muted);color:var(--color-text-subtle);font-size:var(--text-h1);border:1px solid var(--color-border)}.settings .profile-avatar .avatar.avatar-placeholder svg{width:40px;height:40px}.settings .profile-avatar-upload{font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--color-primary);background:transparent;border:none;padding:0;cursor:pointer}.settings .profile-avatar-upload:hover{text-decoration:underline}.settings .profile-fields{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:var(--space-4);max-width:480px}.settings .profile-actions{display:flex;justify-content:flex-start;margin-top:var(--space-2)}.settings .settings-section.danger-zone{margin-top:var(--space-8);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.settings .danger-zone .section-title{color:var(--color-danger-text);margin:0 0 var(--space-1)}.settings .danger-zone-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.signin-page{min-height:100vh;display:flex;flex-direction:column;background:var(--color-surface-muted)}.signin-shell{flex:1 1;display:flex;align-items:center;justify-content:center;padding:var(--space-5) var(--space-4)}.signin-card{width:100%;max-width:400px;padding:var(--space-8) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center}.signin-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);font-size:var(--text-h2);font-weight:var(--weight-semibold);color:var(--color-text)}.signin-brand img{display:block;max-width:70px;height:auto}.signin-headline{margin:0 0 var(--space-2);font-size:var(--text-display);font-weight:var(--weight-bold);line-height:1.2;letter-spacing:-.01em;color:var(--color-text)}.signin-sub{margin:0 0 var(--space-5);color:var(--color-text-muted);line-height:1.5}.signin-google-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:12px var(--space-3);border:1px solid #dadce0;border-radius:var(--radius-md);background:var(--color-surface);color:#1F1F1F;font-size:var(--text-body);font-weight:var(--weight-semibold);text-decoration:none;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.signin-google-btn:hover{background:#F8F9FA;border-color:#C8CCD0;box-shadow:var(--shadow-sm)}.signin-google-btn .google-g{width:18px;height:18px;flex:0 0 auto}.signin-fineprint{margin:var(--space-5) 0 0;font-size:var(--text-small);color:var(--color-text-subtle);line-height:1.5}.signin-footer{display:flex;justify-content:center;padding:var(--space-4);font-size:var(--text-small);color:var(--color-text-muted)}.signin-alert{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);background:#FEF2F2;border:1px solid #fecaca;border-radius:var(--radius-md);text-align:left}.signin-alert[hidden]{display:none}.signin-alert-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-pill);background:#FEE2E2;color:#B91C1C}.signin-alert-icon .icon{width:16px;height:16px}.signin-alert-message{margin:0;font-size:var(--text-small);color:var(--color-text);line-height:1.5}.team .team-list{display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.team .team-list-head,.team .team-row{display:grid;grid-template-columns:minmax(220px,1.4fr) auto auto auto auto auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.team .team-row:last-child{border-bottom:none}.team .team-list-head{background:var(--color-surface-muted);font-size:var(--text-micro);font-weight:var(--weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.team .team-member-identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.team .team-member-info{display:flex;flex-direction:column;gap:2px;min-width:0}.team .team-member-name{font-weight:var(--weight-semibold);font-size:var(--text-body);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team .team-member-self-tag{font-weight:400;margin-left:2px}.team .team-member-email,.team .team-member-self-tag{font-size:var(--text-small);color:var(--color-text-muted)}.team .team-member-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team .th-action{width:32px}.role-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--text-micro);font-weight:var(--weight-semibold);letter-spacing:.04em;white-space:nowrap}.role-badge.role-admin{background:#DBEAFE;color:#1E40AF}.role-badge.role-manager{background:#DCFCE7;color:#166534}.role-badge.role-scheduler{background:#FEF3C7;color:#92400E}.role-badge.role-viewer{background:#F3F4F6;color:#6B7280}.library-access-pill,.page-access-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-small);white-space:nowrap}.library-access-pill.is-all,.page-access-pill.is-all{background:#EFF6FF;color:#1D4ED8}.member-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-small);white-space:nowrap}.member-status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:var(--radius-pill);background:currentColor}.member-status.is-active{color:#15803D}.member-status.is-pending{color:#B45309}.roles-cheatsheet{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.roles-cheatsheet>summary{cursor:pointer;font-size:var(--text-small);font-weight:var(--weight-semibold);color:var(--color-text);list-style:none;display:inline-flex;align-items:center;gap:var(--space-2)}.roles-cheatsheet>summary::-webkit-details-marker{display:none}.roles-cheatsheet>summary:before{content:"";width:0;height:0;border-left:5px solid var(--color-text-muted);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s ease}.roles-cheatsheet[open]>summary:before{transform:rotate(90deg)}.roles-cheatsheet-grid{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.roles-cheatsheet-row{display:grid;grid-template-columns:110px 1fr;grid-gap:var(--space-3);gap:var(--space-3);align-items:start}.roles-cheatsheet-row p{margin:0;font-size:var(--text-small);color:var(--color-text-muted);line-height:1.5}.modal .modal-panel.member-form-modal{max-width:560px;padding:var(--space-6);gap:var(--space-4)}.member-form-modal .modal-title{margin:0;font-size:var(--text-h1);font-weight:var(--weight-semibold);color:var(--color-text);line-height:1.3;padding-right:var(--space-8)}.member-form-modal .modal-subtitle{margin:0;font-size:var(--text-small);color:var(--color-text-muted);line-height:1.5}.member-form-modal .member-form{display:flex;flex-direction:column;gap:var(--space-4);flex:1 1 auto;min-height:0;overflow-y:auto}.member-form-modal .modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.library-access-picker,.page-access-picker,.role-picker{display:flex;flex-direction:column;gap:var(--space-2)}.library-access-mode,.page-access-mode,.role-option{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.library-access-mode:hover,.page-access-mode:hover,.role-option:hover{border-color:var(--color-border-strong)}.library-access-mode.is-selected,.page-access-mode.is-selected,.role-option.is-selected{border-color:var(--color-primary);background:#F5F8FF}.library-access-mode input[type=radio],.page-access-mode input[type=radio],.role-option input[type=radio]{position:absolute;opacity:0;pointer-events:none}.library-access-mode-name,.page-access-mode-name,.role-option-name{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:2px;display:flex;align-items:center;gap:var(--space-2)}.library-access-mode-desc,.page-access-mode-desc,.role-option-desc{font-size:var(--text-small);color:var(--color-text-muted);line-height:1.5}.library-access-list,.page-access-list{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.library-access-list[hidden],.page-access-list[hidden]{display:none}.library-access-option,.page-access-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background-color .12s ease}.library-access-option:hover,.page-access-option:hover{background:var(--color-surface-muted)}.library-access-option input[type=checkbox],.page-access-option input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.library-access-option-name,.page-access-option-name{flex:1 1;font-size:var(--text-body);color:var(--color-text)}.library-access-option-meta,.page-access-option-meta{flex:0 0 auto;font-size:var(--text-small);color:var(--color-text-muted)}.library-access-option-icon{flex:0 0 auto;width:18px;height:18px;color:var(--color-text-muted)}.member-form-empty{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--text-small);color:var(--color-text-muted)}.tools-list{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}.tools-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:inherit;text-decoration:none;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.tools-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover);box-shadow:var(--shadow-sm)}.tools-card:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.tools-card-icon{flex:none;width:56px;height:56px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.tools-card-icon .icon{width:28px;height:28px}.tools-card-body{flex:1 1 auto;min-width:0}.tools-card-heading{display:flex;align-items:center;gap:var(--space-2);margin-bottom:4px}.tools-card-title{margin:0;font-size:var(--text-subhead);font-weight:var(--weight-semibold);color:var(--color-text)}.tools-card-desc{margin:0;font-size:var(--text-body);line-height:1.5}.tools-card-arrow{flex:none;width:20px;height:20px;color:var(--color-text-subtle);transition:color .12s ease}.tools-card:hover .tools-card-arrow{color:var(--color-text)}.uploader-body{background:var(--color-canvas);min-height:100vh}.uploader-main{display:flex;flex-direction:column;min-height:calc(100vh - 80px)}.uploader-toolbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--color-surface);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:80px;z-index:10;flex-wrap:wrap}.uploader-breadcrumbs{flex:1 1 auto;min-width:0}.uploader-breadcrumb-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--space-1);font-size:var(--text-body);min-width:0}.uploader-breadcrumb-item{display:inline-flex;align-items:center;gap:var(--space-1)}.uploader-breadcrumb-item+.uploader-breadcrumb-item:before{content:"/";color:var(--color-text-subtle);margin:0 var(--space-1)}.uploader-breadcrumb-link{color:var(--color-text-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:var(--weight-medium);transition:color .12s ease,background-color .12s ease;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.uploader-breadcrumb-link:hover{color:var(--color-text);background:var(--color-surface-hover)}.uploader-breadcrumb-link.is-current{color:var(--color-text);font-weight:var(--weight-semibold)}.uploader-toolbar-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.uploader-search{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:240px;transition:border-color .12s ease,box-shadow .12s ease}.uploader-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.uploader-search .icon{width:16px;height:16px;color:var(--color-text-muted);flex:none}.uploader-search input{border:none;outline:none;background:none;width:100%;font:inherit;color:var(--color-text)}.uploader-search input::placeholder{color:var(--color-text-subtle)}.uploader-sort{position:relative}.uploader-sort-trigger{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--color-text);transition:border-color .12s ease,background-color .12s ease}.uploader-sort-trigger:hover{border-color:var(--color-border-strong)}.uploader-sort-trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.uploader-sort-trigger .icon-chevron{width:14px;height:14px;color:var(--color-text-muted);transition:transform .12s ease}.uploader-sort-trigger[aria-expanded=true] .icon-chevron{transform:rotate(180deg)}.uploader-sort-panel{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;margin:0;padding:var(--space-1);list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:20}.uploader-sort-option{display:flex;align-items:center;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-body);color:var(--color-text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.uploader-sort-option:hover{background:var(--color-surface-hover)}.uploader-sort-option.is-active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:var(--weight-semibold)}.uploader-view-toggle{display:inline-flex;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.uploader-view-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:100%;color:var(--color-text-muted);transition:background-color .12s ease,color .12s ease}.uploader-view-btn+.uploader-view-btn{border-left:1px solid var(--color-border)}.uploader-view-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.uploader-view-btn.is-active{background:var(--color-primary-soft);color:var(--color-primary)}.uploader-view-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-primary)}.uploader-view-btn .icon{width:16px;height:16px}.uploader-toolbar-btn{height:36px;padding:0 var(--space-3)}.uploader-toolbar-btn .icon{width:16px;height:16px}.uploader-more-btn{width:36px;padding:0;color:var(--color-text-muted)}.uploader-more-btn:hover{color:var(--color-text)}.uploader-upload-trigger{cursor:pointer;position:relative}.uploader-upload-trigger input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.uploader-browser{flex:1 1 auto;padding:var(--space-6);min-height:320px}.uploader-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.uploader-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;position:relative;transition:border-color .12s ease,background-color .12s ease,box-shadow .12s ease}.uploader-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.uploader-card:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.uploader-card-thumb{aspect-ratio:1/1;background:var(--color-surface-muted);display:flex;align-items:center;justify-content:center;overflow:hidden}.uploader-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}.uploader-card-thumb-folder .icon{width:56px;height:56px;color:var(--color-text-muted)}.uploader-card-body{padding:var(--space-3);display:flex;flex-direction:column;gap:2px}.uploader-card-name{font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uploader-card-meta{font-size:var(--text-small)}.uploader-list{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.uploader-row{display:grid;grid-template-columns:48px 1fr auto 32px;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-4);cursor:pointer;transition:background-color .12s ease}.uploader-row+.uploader-row{border-top:1px solid var(--color-border)}.uploader-row:hover{background:var(--color-surface-hover)}.uploader-row:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-primary)}.uploader-row-thumb{width:48px;height:48px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface-muted);display:flex;align-items:center;justify-content:center}.uploader-row-thumb img{width:100%;height:100%;object-fit:cover}.uploader-row-thumb-folder .icon{width:24px;height:24px;color:var(--color-text-muted)}.uploader-row-name{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uploader-row-meta{font-size:var(--text-small);color:var(--color-text-muted);white-space:nowrap}.uploader-list-header{display:grid;grid-template-columns:48px 1fr auto 32px;grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-4);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.uploader-list-header-sort{display:inline-flex;align-items:center;gap:var(--space-1);padding:4px var(--space-2);margin:-4px calc(var(--space-2) * -1);border-radius:var(--radius-sm);font:inherit;color:inherit;text-align:left;transition:background-color .12s ease,color .12s ease}.uploader-list-header-sort:hover{background:var(--color-surface-hover);color:var(--color-text)}.uploader-list-header-sort:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-ring)}.uploader-list-header-sort.is-active{color:var(--color-primary)}.uploader-list-header-arrow{width:14px;height:14px;flex:none}.uploader-list-header-date{justify-self:end}.uploader-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;padding:var(--space-8) var(--space-4);text-align:center;gap:var(--space-3)}.uploader-empty-state p{color:var(--color-text-muted);font-size:var(--text-body);max-width:460px}.uploader-empty-state strong{color:var(--color-text);font-weight:var(--weight-semibold)}.uploader-link-btn{color:var(--color-primary);font-weight:var(--weight-semibold);font-size:var(--text-body);background:none;border:none;padding:0;cursor:pointer}.uploader-link-btn:hover{color:var(--color-primary-hover)}.uploader-link-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-ring);border-radius:var(--radius-sm)}.uploader-card.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-ring)}.uploader-row.is-selected,.uploader-row.is-selected:hover{background:var(--color-primary-soft)}.uploader-side-panel{position:fixed;top:var(--uploader-chrome-h,140px);right:0;bottom:0;width:440px;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-8px 0 24px rgba(15,23,42,.06);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .2s ease;z-index:9;pointer-events:none}.uploader-side-panel.is-open{transform:translateX(0);pointer-events:auto}.uploader-side-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex:none}.uploader-side-title{margin:0;font-size:var(--text-h2);font-weight:var(--weight-semibold);color:var(--color-text)}.uploader-side-close,.uploader-side-collapse{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--color-text-muted);transition:background-color .12s ease,color .12s ease}.uploader-side-close:hover,.uploader-side-collapse:hover{background:var(--color-surface-hover);color:var(--color-text)}.uploader-side-close:focus-visible,.uploader-side-collapse:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-ring)}.uploader-side-close .icon,.uploader-side-collapse .icon{width:18px;height:18px}.uploader-side-collapse .icon{transition:transform .12s ease}.uploader-side-panel.is-collapsed .uploader-side-collapse .icon{transform:rotate(180deg)}.uploader-side-panel.is-collapsed{bottom:auto}.uploader-side-panel.is-collapsed .uploader-side-content{display:none}.uploader-side-panel.is-collapsed .uploader-side-header{padding-top:var(--space-2);padding-bottom:var(--space-2)}.uploader-side-panel.is-collapsed .uploader-side-title{font-size:var(--text-body)}.uploader-side-panel.is-collapsed .uploader-side-close,.uploader-side-panel.is-collapsed .uploader-side-collapse{width:28px;height:28px}.uploader-side-panel.is-collapsed .uploader-side-close .icon,.uploader-side-panel.is-collapsed .uploader-side-collapse .icon{width:16px;height:16px}.uploader-side-content{flex:1 1 auto;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.uploader-side-preview{background:var(--color-surface-muted);border-radius:var(--radius-md);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;overflow:hidden}.uploader-side-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}.uploader-side-name{margin:0;font-size:var(--text-h2);font-weight:var(--weight-semibold);color:var(--color-text);word-break:break-word;line-height:1.35}.uploader-side-meta{margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);font-size:var(--text-small)}.uploader-side-meta-row{display:flex;flex-direction:column;gap:2px;min-width:0}.uploader-side-meta dt{color:var(--color-text-muted);font-weight:var(--weight-medium)}.uploader-side-meta dd{margin:0;color:var(--color-text)}.uploader-side-actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.uploader-side-actions .btn{flex:1 1;justify-content:center}.uploader-side-actions .btn .icon{width:16px;height:16px}.uploader-copy-btn.is-copied,.uploader-copy-btn.is-copied:hover{background:var(--color-success)}.uploader-side-name-row{display:flex;align-items:center;gap:var(--space-2)}.uploader-side-name-row .uploader-side-name{flex:1 1 auto;min-width:0}.uploader-side-pencil{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:background-color .12s ease,color .12s ease}.uploader-side-pencil:hover{background:var(--color-surface-hover);color:var(--color-text)}.uploader-side-pencil:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-ring)}.uploader-side-pencil .icon{width:16px;height:16px}.uploader-side-secondary{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-2)}.uploader-side-secondary .btn{justify-content:center}.uploader-side-secondary .btn .icon{width:16px;height:16px}.uploader-side-secondary .uploader-side-delete-btn{color:var(--color-danger-text)}.uploader-side-secondary .uploader-side-delete-btn:hover{background:var(--color-danger-bg);color:var(--color-danger-text)}.uploader-side-secondary .btn:disabled{color:var(--color-text-subtle);cursor:not-allowed;opacity:.6}.uploader-side-secondary .btn:disabled:hover{background:transparent;color:var(--color-text-subtle)}.uploader-kebab-wrap{position:relative}.uploader-card .uploader-kebab-wrap{position:absolute;top:var(--space-2);right:var(--space-2);z-index:2}.uploader-kebab{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--color-text-muted);background:rgba(255,255,255,.92);border:1px solid transparent;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.uploader-row .uploader-kebab{background:transparent}.uploader-kebab:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.uploader-kebab:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ring)}.uploader-kebab .icon{width:16px;height:16px}.uploader-kebab-menu{position:fixed;top:0;left:0;width:180px;list-style:none;margin:0;padding:var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000}.uploader-kebab-menu li{margin:0}.uploader-kebab-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-body);color:var(--color-text);text-align:left;background:none;border:none;cursor:pointer;transition:background-color .12s ease}.uploader-kebab-item:hover{background:var(--color-surface-hover)}.uploader-kebab-item.is-danger{color:var(--color-danger-text)}.uploader-kebab-item.is-danger:hover{background:var(--color-danger-bg)}.uploader-kebab-item.is-disabled{color:var(--color-text-subtle);cursor:not-allowed}.uploader-kebab-item.is-disabled:hover{background:transparent}.uploader-kebab-item .icon{width:14px;height:14px;flex:none}.uploader-inline-input{width:100%;font:inherit;font-weight:var(--weight-semibold);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:4px 8px;box-shadow:0 0 0 3px var(--color-primary-ring);outline:none}.uploader-inline-input.is-error{border-color:var(--color-danger);background:var(--color-danger-bg);box-shadow:0 0 0 3px rgba(239,68,68,.18)}.uploader-inline-error{position:absolute;top:100%;left:0;right:0;margin-top:4px;padding:var(--space-1) var(--space-2);font-size:var(--text-small);color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid rgba(185,28,28,.25);border-radius:var(--radius-sm);z-index:40;pointer-events:none}.uploader-card-body,.uploader-row{position:relative}.uploader-rename-wrap{display:flex;align-items:baseline;gap:4px;width:100%;min-width:0;position:relative}.uploader-rename-wrap .uploader-inline-input{flex:1 1 auto;min-width:0}.uploader-rename-ext{flex:none;color:var(--color-text-muted);font-weight:var(--weight-semibold);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.uploader-side-name-input{font-size:var(--text-h2);font-weight:var(--weight-semibold)}.uploader-side-name-input+.uploader-rename-ext{font-size:var(--text-h2)}.uploader-draft{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);margin-bottom:var(--space-4);background:var(--color-surface);border:1px dashed var(--color-primary);border-radius:var(--radius-md);position:relative}.uploader-draft-icon{flex:none;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center}.uploader-draft-icon .icon{width:22px;height:22px}.uploader-draft-input{flex:0 1 360px;width:100%;min-width:200px;max-width:100%;field-sizing:content;height:38px;padding:0 var(--space-3);font:inherit;font-size:var(--text-body);font-weight:var(--weight-semibold);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-md);outline:none;box-shadow:0 0 0 3px var(--color-primary-ring)}.uploader-draft-input::placeholder{color:var(--color-text-subtle);font-weight:var(--weight-regular)}.uploader-draft-input.is-error{border-color:var(--color-danger);background:var(--color-danger-bg);box-shadow:0 0 0 3px rgba(239,68,68,.18)}.uploader-draft-save{flex:none;height:38px;padding:0 var(--space-4)}.uploader-draft-save:disabled{cursor:not-allowed;opacity:.7}.uploader-draft-save:disabled,.uploader-draft-save:disabled:hover{background:var(--color-text-subtle)}.uploader-draft.is-creating{opacity:.85}.uploader-draft.is-creating .btn-ghost,.uploader-draft.is-creating .uploader-draft-icon,.uploader-draft.is-creating .uploader-draft-input{opacity:.55;pointer-events:none}.uploader-modal{border:none;padding:0;border-radius:var(--radius-lg);width:min(440px,calc(100vw - 32px));background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg)}.uploader-modal::-webkit-backdrop{background:rgba(15,23,42,.45)}.uploader-modal::backdrop{background:rgba(15,23,42,.45)}.uploader-modal-header{padding:var(--space-5) var(--space-5) var(--space-2)}.uploader-modal-title{margin:0;font-size:var(--text-subhead);font-weight:var(--weight-semibold);color:var(--color-text)}.uploader-modal-body{padding:0 var(--space-5) var(--space-5);color:var(--color-text-muted);font-size:var(--text-body);line-height:1.5}.uploader-modal-body code{font-family:var(--font-mono);font-size:.95em;padding:1px 6px;background:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text)}.uploader-modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end;padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border);background:var(--color-surface)}.uploader-move-modal{width:min(520px,calc(100vw - 32px))}.uploader-move-body{padding:0;max-height:360px;overflow-y:auto;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.uploader-move-tree{padding:var(--space-2) var(--space-3)}.uploader-tree,.uploader-tree ul{list-style:none;margin:0;padding:0}.uploader-tree-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) 4px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .12s ease,color .12s ease}.uploader-tree-row:hover{background:var(--color-surface-hover)}.uploader-tree-row:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.uploader-tree-row.is-selected{color:var(--color-primary)}.uploader-tree-row.is-selected,.uploader-tree-row.is-selected:hover{background:var(--color-primary-soft)}.uploader-tree-row.is-disabled{color:var(--color-text-subtle);cursor:not-allowed}.uploader-tree-row.is-disabled:hover{background:transparent}.uploader-tree-chevron,.uploader-tree-chevron-placeholder{width:20px;height:20px;flex:none}.uploader-tree-chevron{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:background-color .12s ease,transform .12s ease}.uploader-tree-chevron:hover{background:var(--color-surface);color:var(--color-text)}.uploader-tree-chevron:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.uploader-tree-chevron .icon{width:12px;height:12px}.uploader-tree-chevron[aria-expanded=true] .icon{transform:rotate(90deg)}.uploader-tree-icon{width:18px;height:18px;flex:none;color:var(--color-text-muted)}.uploader-tree-row.is-selected .uploader-tree-icon{color:var(--color-primary)}.uploader-tree-name{flex:1 1 auto;font-size:var(--text-body);font-weight:var(--weight-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.uploader-tree-check{width:16px;height:16px;flex:none;color:var(--color-primary)}.uploader-loading-overlay{position:absolute;inset:0;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;z-index:5;animation:uploader-loading-fade .12s ease-out}.uploader-loading-stack{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.uploader-loading-stack .uploader-spinner{width:36px;height:36px}.uploader-loading-label{font-size:var(--text-small);font-weight:var(--weight-medium);color:var(--color-text-muted)}@keyframes uploader-loading-fade{0%{opacity:0}to{opacity:1}}.uploader-browser{position:relative}.uploader-drop-overlay{position:absolute;inset:var(--space-2);background:rgba(37,99,235,.06);border:2px dashed var(--color-primary);border-radius:var(--radius-lg);z-index:6;display:flex;align-items:center;justify-content:center;pointer-events:none}.uploader-drop-overlay[hidden]{display:none}.uploader-drop-message{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--text-subhead);font-weight:var(--weight-semibold);color:var(--color-text)}.uploader-drop-message strong{color:var(--color-primary)}.uploader-drop-message .icon{width:28px;height:28px;color:var(--color-primary)}.uploader-card-uploading,.uploader-row-uploading{cursor:default}.uploader-card-uploading:hover,.uploader-row-uploading:hover{background:var(--color-surface);border-color:var(--color-border)}.uploader-card-uploading .uploader-card-thumb{background:var(--color-surface-muted)}.uploader-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:uploader-spin .8s linear infinite}.uploader-row-thumb .uploader-spinner{width:24px;height:24px;border-width:2px}@keyframes uploader-spin{to{transform:rotate(1turn)}}.uploader-upload-progress{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-top:4px}.uploader-upload-progress-bar{height:100%;background:var(--color-primary);transition:width .15s ease}.uploader-card-upload-error,.uploader-row-upload-error{border-color:var(--color-danger);background:var(--color-danger-bg)}.uploader-card-upload-error .uploader-card-thumb,.uploader-row-upload-error .uploader-row-thumb{background:var(--color-danger-bg);color:var(--color-danger-text)}.uploader-card-upload-error .uploader-card-thumb .icon,.uploader-row-upload-error .uploader-row-thumb .icon{width:28px;height:28px;color:var(--color-danger-text)}.uploader-row-upload-error .uploader-row-thumb .icon{width:20px;height:20px}.uploader-upload-error-msg{color:var(--color-danger-text);font-size:var(--text-small)}.uploader-upload-error-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.uploader-btn-mini{height:26px;padding:0 var(--space-2);font-size:var(--text-small)}.uploader-row-upload-body{display:flex;flex-direction:column;gap:2px;min-width:0}.uploader-row-upload-body .uploader-row-name{flex:none}.uploader-card.is-new,.uploader-row.is-new{position:relative}.uploader-card.is-new:after,.uploader-row.is-new:after{content:"";position:absolute;inset:0;background:var(--color-primary-soft);border-radius:inherit;pointer-events:none;animation:uploader-new-fade 10s ease-out forwards}.uploader-row.is-new:after{border-radius:0}@keyframes uploader-new-fade{0%{opacity:.7}to{opacity:0}}.uploader-toasts{position:fixed;top:var(--space-4);right:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);z-index:60;pointer-events:none;max-width:calc(100vw - 32px)}.uploader-toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-text-muted);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:280px;max-width:420px;pointer-events:auto;animation:uploader-toast-in .2s ease-out}.uploader-toast.is-error{border-left-color:var(--color-danger)}.uploader-toast.is-info{border-left-color:var(--color-primary)}.uploader-toast-message{flex:1 1 auto;font-size:var(--text-body);line-height:1.45;color:var(--color-text);word-break:break-word}.uploader-toast-close{flex:none;width:22px;height:22px;border-radius:var(--radius-sm);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;transition:background-color .12s ease,color .12s ease}.uploader-toast-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.uploader-toast-close:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-primary)}.uploader-toast-close .icon{width:14px;height:14px}@keyframes uploader-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes uploader-toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media (max-width:900px){.uploader-toolbar{padding:var(--space-3) var(--space-4)}.uploader-browser{padding:var(--space-4)}.uploader-search{width:180px}}