:root{color-scheme:light;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "Helvetica Neue", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--tracking: -.01em;--tracking-title: -.022em;--bg: #f5f5f7;--ambient: radial-gradient(64rem 44rem at 4% -14%, rgba(0, 113, 227, .16), transparent 64%), radial-gradient(52rem 38rem at 102% 2%, rgba(175, 82, 222, .11), transparent 62%), radial-gradient(58rem 42rem at 60% 112%, rgba(255, 159, 10, .1), transparent 64%);--ambient-focus: radial-gradient(30rem 24rem at 44% 42%, rgba(0, 113, 227, .2), transparent 70%), radial-gradient(26rem 22rem at 60% 60%, rgba(255, 159, 10, .14), transparent 70%);--ambient-auth: radial-gradient(34rem 28rem at 78% 48%, rgba(0, 113, 227, .13), transparent 70%), radial-gradient(44rem 30rem at 6% 4%, rgba(0, 113, 227, .07), transparent 65%);--surface: rgba(255, 255, 255, .66);--surface-thick: rgba(255, 255, 255, .88);--surface-solid: #ffffff;--blur: saturate(180%) blur(20px);--blur-thick: saturate(190%) blur(32px);--surface-hover: rgba(60, 60, 67, .07);--row-hover: rgba(60, 60, 67, .045);--fill: rgba(120, 120, 128, .12);--field: rgba(255, 255, 255, .7);--field-hover: rgba(255, 255, 255, .95);--thumb: #ffffff;--hairline: .5px;--border: rgba(60, 60, 67, .16);--border-strong: rgba(60, 60, 67, .28);--text: #1d1d1f;--text-muted: #6e6e73;--accent: #0066d9;--accent-hover: #0058bb;--accent-solid: #0066d9;--accent-solid-hover: #0058bb;--accent-fg: #ffffff;--brand-stone: #f2eee3;--brand-ink: #000000;--brand-ripple: #b7ad92;--success: #1f7a35;--warning: #a34a00;--danger: #d70015;--danger-solid: #d70015;--app-cortex: var(--accent-solid);--app-thought: #c96100;--app-metric: #1e8a3a;--app-projection: #8a45c8;--accent-soft: color-mix(in srgb, var(--accent) 10%, transparent);--accent-soft-hover: color-mix(in srgb, var(--accent) 17%, transparent);--success-soft: color-mix(in srgb, var(--success) 12%, transparent);--warning-soft: color-mix(in srgb, var(--warning) 12%, transparent);--danger-soft: color-mix(in srgb, var(--danger) 10%, transparent);--ring: 0 0 0 4px color-mix(in srgb, var(--accent) 24%, transparent);--overlay: rgba(20, 20, 30, .34);--edge: inset 0 .5px 0 rgba(255, 255, 255, .8);--shadow-xs: 0 .5px 1px rgba(0, 0, 0, .06);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 6px 20px rgba(0, 0, 0, .05);--shadow-md: 0 12px 40px rgba(0, 0, 0, .14), 0 1px 3px rgba(0, 0, 0, .08);--shadow-card: var(--edge), var(--shadow-sm);--radius-sm: 8px;--radius: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--sidebar-w: 240px;--topbar-h: 56px;--control-h: 36px;--row-h: 48px;--ease: cubic-bezier(.2, .7, .2, 1);--dur-fast: .12s;--dur-menu: .15s;--dur: .2s;--dur-slow: .32s;--ease-spring: var(--ease);--dur-spring: .58s}@supports (animation-timing-function: linear(0,1)){:root{--ease-spring: linear(0, .021, .075, .151, .24, .335, .43, .521, .607, .684, .753, .812, .863, .905, .94, .967, .988, 1.004, 1.015, 1.023, 1.027, 1.029, 1.03, 1.029, 1.027, 1.025, 1.022, 1.019, 1.016, 1.014, 1.011, 1.009, 1.007, 1.005, 1.004, 1.003, 1)}}[data-theme=dark]{color-scheme:dark;--bg: #0b0b0f;--ambient: radial-gradient(64rem 44rem at 4% -14%, rgba(10, 132, 255, .26), transparent 64%), radial-gradient(52rem 38rem at 102% 2%, rgba(191, 90, 242, .18), transparent 62%), radial-gradient(58rem 42rem at 60% 112%, rgba(48, 209, 88, .09), transparent 64%);--ambient-focus: radial-gradient(30rem 24rem at 44% 42%, rgba(10, 132, 255, .3), transparent 70%), radial-gradient(26rem 22rem at 60% 60%, rgba(191, 90, 242, .2), transparent 70%);--ambient-auth: radial-gradient(34rem 28rem at 78% 48%, rgba(10, 132, 255, .2), transparent 70%), radial-gradient(44rem 30rem at 6% 4%, rgba(10, 132, 255, .1), transparent 65%);--surface: rgba(44, 44, 50, .56);--surface-thick: rgba(38, 38, 44, .84);--surface-solid: #202026;--surface-hover: rgba(255, 255, 255, .07);--row-hover: rgba(255, 255, 255, .05);--fill: rgba(120, 120, 128, .24);--field: rgba(255, 255, 255, .07);--field-hover: rgba(255, 255, 255, .12);--thumb: rgba(120, 120, 128, .42);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .2);--text: #f5f5f7;--text-muted: #a1a1a6;--accent: #4da3ff;--accent-hover: #7bbcff;--accent-solid: #0a72e0;--accent-solid-hover: #1a82f0;--brand-ripple: #f2eee3;--success: #30d158;--warning: #ff9f0a;--danger: #ff453a;--danger-solid: #d92d20;--accent-soft: color-mix(in srgb, var(--accent) 16%, transparent);--accent-soft-hover: color-mix(in srgb, var(--accent) 26%, transparent);--success-soft: color-mix(in srgb, var(--success) 18%, transparent);--warning-soft: color-mix(in srgb, var(--warning) 18%, transparent);--danger-soft: color-mix(in srgb, var(--danger) 16%, transparent);--overlay: rgba(0, 0, 0, .55);--edge: inset 0 .5px 0 rgba(255, 255, 255, .09);--shadow-xs: 0 .5px 1px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .28);--shadow-md: 0 14px 44px rgba(0, 0, 0, .55), 0 1px 3px rgba(0, 0, 0, .4)}@media(max-resolution:1.49dppx){:root{--hairline: 1px}}@media(pointer:coarse){:root{--control-h: 44px}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root,[data-theme=dark]{--surface: var(--surface-solid);--surface-thick: var(--surface-solid)}}@media(prefers-reduced-transparency:reduce){:root,[data-theme=dark]{--surface: var(--surface-solid);--surface-thick: var(--surface-solid);--blur: none;--blur-thick: none}}:root[data-density=compact]{--row-h: 40px}:root[data-density=comfortable]{--row-h: 56px}@media print{[data-theme=dark]{color-scheme:light;--bg: #ffffff;--surface-solid: #ffffff;--text: #1d1d1f;--text-muted: #6e6e73;--accent: #0066d9;--fill: rgba(120, 120, 128, .12);--border: rgba(60, 60, 67, .16);--border-strong: rgba(60, 60, 67, .28);--warning-soft: rgba(163, 74, 0, .12)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;-webkit-text-size-adjust:100%;background:var(--bg)}body{font-family:var(--font);letter-spacing:var(--tracking);color:var(--text);min-height:100vh;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--ambient);pointer-events:none}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}svg{flex-shrink:0}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section-label{display:block;margin-bottom:8px;font-size:.75rem;font-weight:600;color:var(--text-muted)}.glass-card,.admin-card,.table-responsive,.admin-table-card,.auth-card,.share-card,.soon-hero{background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.file-card,.folder-card,.folder-mini,.upload-item,.skeleton-rows,.skeleton-card,.app-launch-card,.auth-app{background:var(--surface);border:var(--hairline) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.select-panel,.menu-panel,.custom-context-menu,.slash-menu,.bubble-menu,.modal-dialog,.admin-modal,.toast,.tooltip,.preview-dialog,.upload-card,.drag-ghost,.doc-status-bar,.bulk-bar{background:var(--surface-thick);border:var(--hairline) solid var(--border);box-shadow:var(--edge),var(--shadow-md);-webkit-backdrop-filter:var(--blur-thick);backdrop-filter:var(--blur-thick)}.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;height:var(--control-h);padding:0 16px;border-radius:var(--radius);border:var(--hairline) solid transparent;font-size:.875rem;font-weight:500;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform var(--dur-fast) var(--ease)}.btn:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-solid);color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-solid-hover)}.btn-secondary,.btn-ghost{background:var(--field);border-color:var(--border-strong);color:var(--text);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){background:var(--field-hover)}.btn-danger{background:var(--danger-solid);color:var(--accent-fg)}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-sm{height:calc(var(--control-h) - 6px);padding:0 12px;font-size:.8125rem;border-radius:var(--radius-sm)}.icon-btn{flex-shrink:0;width:var(--control-h);height:var(--control-h);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);border:var(--hairline) solid var(--border-strong);background:var(--field);color:var(--text-muted);box-shadow:var(--shadow-xs);cursor:pointer;transition:background .15s,color .15s,transform var(--dur-fast) var(--ease)}.icon-btn:hover:not(:disabled){background:var(--field-hover);color:var(--text)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:var(--hairline) solid var(--border-strong);background:var(--field);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform var(--dur-fast) var(--ease)}.ui-icon{width:16px;height:16px}.action-btn .ui-icon{width:14px;height:14px}.action-btn:hover{background:var(--field-hover);color:var(--text)}.action-btn.share:hover,.action-btn.move:hover{color:var(--accent);border-color:var(--accent)}.action-btn.rename:hover{color:var(--warning);border-color:var(--warning)}.action-btn.del:hover,.action-btn.danger:hover{color:var(--danger);border-color:var(--danger)}.input-field,.search-input,.admin-search-input,textarea{width:100%;min-height:var(--control-h);padding:6px 12px;border-radius:var(--radius);border:var(--hairline) solid var(--border-strong);background:var(--field);color:var(--text);font-size:.875rem;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}textarea{min-height:88px;padding:8px 12px;resize:vertical}.input-field:focus,.search-input:focus,.admin-search-input:focus,textarea:focus{border-color:var(--accent);background:var(--field-hover);box-shadow:var(--ring)}::placeholder{color:var(--text-muted);opacity:.8}.input-field[aria-invalid=true]{border-color:var(--danger)}.input-field[aria-invalid=true]:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 24%,transparent)}.input-wrap{position:relative}.input-field.has-action{padding-right:var(--control-h)}.input-action{position:absolute;top:4px;right:4px;width:calc(var(--control-h) - 8px);height:calc(var(--control-h) - 8px);display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.input-action:hover,.input-action:focus-visible{background:var(--surface-hover);color:var(--text)}.input-hint{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:.75rem}.input-hint.is-warning{color:var(--warning)}.input-hint.is-error{color:var(--danger)}.form-group>.input-hint{margin-top:0}.input-hint .ui-icon{width:13px;height:13px;flex-shrink:0}.form-group,.admin-field{display:flex;flex-direction:column;gap:6px}.admin-field{margin-bottom:14px}.admin-field:last-child{margin-bottom:0}.form-group label,.form-label{font-size:.8125rem;font-weight:500;color:var(--text)}.admin-field-hint{font-size:.75rem;color:var(--text-muted)}.admin-check-label{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:8px;border:var(--hairline) solid var(--border);border-radius:var(--radius);font-size:.875rem;cursor:pointer}.admin-check-label:hover{background:var(--surface-hover)}.admin-checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.search-wrap,.search-box,.admin-search-wrap{position:relative;display:flex;align-items:center}.admin-search-wrap{flex:1;max-width:360px}.search-wrap svg,.search-box svg,.admin-search-icon{position:absolute;left:11px;color:var(--text-muted);pointer-events:none}.search-wrap .search-input,.search-box input,.admin-search-input{padding-left:34px}.search-box input{width:240px;min-height:var(--control-h);border-radius:var(--radius);border:var(--hairline) solid var(--border-strong);background:var(--field);outline:none;padding-right:32px;font-size:.875rem;transition:border-color .15s,box-shadow .15s,background .15s}.search-box input:focus{border-color:var(--accent);background:var(--field-hover);box-shadow:var(--ring)}.clear-search-btn{position:absolute;right:8px;background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer}.select-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--control-h);min-width:0;padding:0 10px 0 12px;border:var(--hairline) solid var(--border-strong);border-radius:var(--radius);background:var(--field);color:var(--text);font-size:.875rem;text-align:left;box-shadow:var(--shadow-xs);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.select-trigger.is-full{width:100%}.select-trigger.is-sm{min-height:calc(var(--control-h) - 6px);padding:0 8px 0 10px;font-size:.8125rem;border-radius:var(--radius-sm)}.select-trigger:hover:not(:disabled){background:var(--field-hover)}.select-trigger:focus-visible,.select-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:var(--ring);outline:none}.select-trigger:disabled{opacity:.5;cursor:not-allowed}.select-trigger svg{color:var(--text-muted);transition:transform var(--dur-menu) var(--ease)}.select-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-value.is-placeholder{color:var(--text-muted)}.select-panel,.menu-panel{z-index:10000;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-md)}.select-search{width:calc(100% - 12px);min-height:34px;margin:6px}.select-list{overflow-y:auto;padding:5px;outline:none}.select-option{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;padding:0 10px;border-radius:var(--radius-sm);font-size:.875rem;cursor:pointer}.select-option.is-active{background:var(--surface-hover)}.select-option.is-selected{color:var(--accent);font-weight:500}.select-option[aria-disabled=true]{opacity:.5;cursor:not-allowed}.select-option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-empty{padding:12px;font-size:.8125rem;text-align:center;color:var(--text-muted)}.menu-panel{min-width:200px;padding:5px}.menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:0 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:.875rem;text-align:left;cursor:pointer}.menu-item svg{color:var(--text-muted)}.menu-item .ui-icon{width:15px;height:15px}.menu-item:hover,.menu-item:focus-visible{background:var(--surface-hover);outline:none}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item.is-active,.menu-item.is-active svg{color:var(--accent)}.menu-item.is-active{background:var(--accent-soft)}.menu-swatch{flex-shrink:0;width:15px;height:15px;border:var(--hairline) solid var(--border-strong);border-radius:4px;background:var(--swatch)}.menu-swatch.is-none{background:var(--fill)}.menu-swatch.is-none:before{content:"";display:block;margin-top:6px;border-top:var(--hairline) solid var(--danger);transform:rotate(-45deg)}.menu-shortcut{margin-left:auto;padding-left:28px;font:inherit;font-size:.75rem;color:var(--text-muted);white-space:nowrap}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-item.danger:hover,.menu-item.danger:focus-visible{background:var(--danger-soft)}.menu-divider{height:var(--hairline);margin:5px 8px;background:var(--border)}.menu-header{display:flex;flex-direction:column;gap:1px;padding:8px 10px 6px;min-width:0}.menu-header-title{font-size:.8125rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-header-sub{font-size:.6875rem;color:var(--text-muted);text-transform:capitalize}@media(pointer:coarse){.menu-trigger{width:44px;height:44px}}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-top:14px;font-size:.8125rem;color:var(--text-muted)}.pagination-summary{font-variant-numeric:tabular-nums}.pagination-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px}.pagination-size{display:flex;align-items:center;gap:8px}.pagination-pages{display:flex;align-items:center;gap:4px}.page-btn{min-width:calc(var(--control-h) - 4px);height:calc(var(--control-h) - 4px);padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:.8125rem;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s,color .15s,transform var(--dur-fast) var(--ease)}.page-btn:hover:not(:disabled){background:var(--surface-hover)}.page-btn:active:not(:disabled){transform:scale(.95)}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-btn.is-current{background:var(--accent-solid);color:var(--accent-fg);font-weight:600}.page-gap{min-width:20px;text-align:center}.admin-card{padding:20px}.table-responsive,.admin-table-card{background:var(--surface-thick);overflow:auto;max-height:min(72vh,900px)}.admin-table-card{padding:0}.data-table,.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.data-table th,.admin-table th{height:36px;padding:0 16px;text-align:left;font-size:.75rem;font-weight:500;white-space:nowrap;color:var(--text-muted);border-bottom:var(--hairline) solid var(--border)}.data-table td,.admin-table td{height:var(--row-h);padding:0 16px;vertical-align:middle;text-align:left;background:transparent;border-bottom:var(--hairline) solid var(--border)}.data-table tbody tr:last-child td,.admin-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td,.admin-table tbody tr:hover td{background:var(--row-hover)}.data-table tbody tr.selected-row td{background:color-mix(in srgb,var(--accent) 10%,transparent)}.table-scroll th{position:sticky;top:0;z-index:10;background:var(--surface-thick)}.table-responsive th,.admin-table-card th{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--text) 3%,var(--surface-solid))}.table-responsive th:first-child,.admin-table-card th:first-child{left:0;z-index:20}.table-responsive td:first-child,.admin-table-card td:first-child{position:sticky;left:0;z-index:5;background:var(--surface-solid)}.table-responsive tbody tr:hover td:first-child,.admin-table-card tbody tr:hover td:first-child{background:color-mix(in srgb,var(--text) 4.5%,var(--surface-solid))}.table-responsive tbody tr.selected-row td:first-child{background:color-mix(in srgb,var(--accent) 10%,var(--surface-solid))}.checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:16px;height:16px;margin:0;border-radius:5px;border:1px solid var(--border-strong);background:var(--surface-solid);display:inline-grid;place-content:center;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.checkbox:hover{border-color:var(--accent)}.checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox:checked,.checkbox:indeterminate{background:var(--accent-solid);border-color:var(--accent-solid)}.checkbox:checked:after{content:"";width:4px;height:8px;margin-top:-1px;border:solid var(--accent-fg);border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox:indeterminate:after{content:"";width:8px;height:2px;border-radius:1px;background:var(--accent-fg)}.cell-num,.data-table th.cell-num,.admin-table th.cell-num{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";white-space:nowrap}.data-table td.cell-num,.admin-table td.cell-num{text-align:right}.cell-truncate{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-muted{color:var(--text-muted)}.table-scroll{overflow:auto;max-height:min(72vh,900px)}.admin-table-empty{text-align:center!important;color:var(--text-muted);height:auto!important;padding:40px!important}.sort-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.sort-btn:hover,.sort-btn.is-active{color:var(--text)}.cell-num .sort-btn{flex-direction:row-reverse}.row-actions-cell{display:flex;justify-content:flex-end}.row-actions{display:none}.row-kebab{display:inline-flex}.row-kebab .icon-btn{width:30px;height:30px;border:none;background:transparent;box-shadow:none;color:var(--text-muted)}.row-kebab .icon-btn:hover:not(:disabled),.row-kebab .icon-btn[aria-expanded=true]{background:var(--fill);color:var(--text)}.table-file-name{display:block;max-width:320px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-date{font-variant-numeric:tabular-nums;white-space:nowrap}.file-link{padding:0;border:none;background:none;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;cursor:pointer}.file-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){.table-file-name{max-width:100px}.cell-truncate{max-width:120px}}.admin-badge,.admin-role-badge,.admin-nav-badge,.sync-badge,.shared-badge,.shared-badge-mini,.file-badge,.file-badge-sm{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;font-size:.72rem;font-weight:600;line-height:1.5;white-space:nowrap}.file-badge,.file-badge-sm{padding:2px 8px;border-radius:7px}.file-badge-sm{flex-shrink:0}.admin-badge.success,.shared-badge,.shared-badge-mini{background:var(--success-soft);color:var(--success)}.admin-badge.danger{background:var(--danger-soft);color:var(--danger)}.admin-badge.warning,.admin-nav-badge{background:var(--warning-soft);color:var(--warning)}.admin-badge.info,.admin-badge.indigo,.admin-role-badge,.sync-badge{background:var(--accent-soft);color:var(--accent)}.admin-badge.neutral,.admin-count-badge{background:var(--fill);color:var(--text-muted)}.admin-count-badge{padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:500;white-space:nowrap}.admin-nav-badge{margin-left:auto}.admin-action-tag{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:600;white-space:nowrap}.alert-box,.admin-alert-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-md);font-size:.875rem}.admin-alert-banner{justify-content:space-between}.alert-box.error,.admin-alert-banner.danger{background:var(--danger-soft);color:var(--danger)}.alert-box .ui-icon{flex-shrink:0}.admin-alert-banner.warning{background:var(--warning-soft);color:var(--warning)}.announcement{position:relative;z-index:1000;display:flex;align-items:center;justify-content:center;padding:8px 40px 8px 16px;background:var(--accent-soft);color:var(--accent);font-size:.8125rem;font-weight:500;text-align:center;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.announcement.warning{background:var(--warning-soft);color:var(--warning)}.announcement.danger{background:var(--danger-soft);color:var(--danger)}.announcement.success{background:var(--success-soft);color:var(--success)}.announcement-body{display:flex;align-items:center;gap:8px}.announcement-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;padding:4px;border:none;background:none;color:inherit;opacity:.8;cursor:pointer}.announcement-close:hover{opacity:1}.modal-backdrop,.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:none;align-items:center;justify-content:center;padding:16px;background:var(--overlay)}.modal-backdrop.open,.admin-modal-overlay{display:flex}.modal-dialog,.admin-modal{width:100%;max-width:460px;color:var(--text);border-radius:var(--radius-xl);overflow:hidden}.modal-dialog:focus{outline:none}.admin-modal{padding:22px}.modal-header,.admin-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.modal-header{padding:18px 22px;border-bottom:var(--hairline) solid var(--border);align-items:center}.admin-modal-header{margin-bottom:16px}.modal-title,.admin-modal-title{font-size:1.0625rem;font-weight:600;letter-spacing:var(--tracking-title)}.admin-modal-sub{font-size:.8125rem;color:var(--text-muted);margin-top:2px}.modal-close,.admin-modal-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--fill);color:var(--text-muted);font-size:1.15rem;cursor:pointer}.modal-close:hover,.admin-modal-close:hover{background:var(--border-strong);color:var(--text)}.modal-body{padding:20px 22px}.modal-footer,.admin-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px}.modal-footer{padding:14px 22px;border-top:var(--hairline) solid var(--border);background:var(--surface-hover)}.admin-modal-footer{margin-top:16px}.tooltip{position:fixed;z-index:10001;padding:5px 10px;border-radius:var(--radius-sm);color:var(--text);font-size:.75rem;font-weight:500;white-space:nowrap;pointer-events:none}.tooltip-right{transform:translateY(-50%)}.tooltip-bottom{transform:translate(-50%)}.tooltip-top{transform:translate(-50%,-100%)}.toast-wrap{position:fixed;right:16px;bottom:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 32px));pointer-events:none;--toast-from: translateY(24px) scale(.98)}.toast{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;align-items:start;gap:10px;padding:12px 8px 12px 20px;overflow:hidden;color:var(--text);border-radius:var(--radius-md);font-size:.875rem;pointer-events:auto;touch-action:pan-y}.toast:before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--toast-color, var(--accent))}.toast.success{--toast-color: var(--success)}.toast.info{--toast-color: var(--accent)}.toast.warning{--toast-color: var(--warning)}.toast.error{--toast-color: var(--danger)}.toast-icon{display:flex;padding-top:1px;color:var(--toast-color)}.toast-body{display:flex;flex-direction:column;gap:1px;min-width:0}.toast-label{font-size:.75rem;font-weight:600;color:var(--toast-color)}.toast-msg{overflow-wrap:anywhere}.toast-action,.toast-close{min-height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer}.toast-action{padding:0 10px;font-size:.8125rem;font-weight:600;color:var(--toast-color)}.toast-close{min-width:28px;font-size:1.15rem;line-height:1;color:var(--text-muted)}.toast-action:hover,.toast-close:hover{background:var(--surface-hover)}.toast-timer{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--toast-color);transform-origin:left}@media(max-width:640px){.toast-wrap{top:16px;bottom:auto;left:16px;right:16px;width:auto;flex-direction:column-reverse;--toast-from: translateY(-24px) scale(.98)}}.spinner-sm,.spinner-lg{display:inline-block;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);vertical-align:middle}.spinner-sm{width:15px;height:15px}.spinner-lg{width:30px;height:30px;border-width:3px}.btn-primary .spinner-sm{border-color:color-mix(in srgb,var(--accent-fg) 35%,transparent);border-top-color:var(--accent-fg)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:72px 20px;color:var(--text-muted);font-size:.875rem}.empty-state,.admin-scaffold-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 20px;text-align:center;color:var(--text-muted);font-size:.875rem}.empty-icon-wrap{width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;border-radius:var(--radius-lg);background:var(--fill);color:var(--text-muted)}.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 12px;border-radius:999px;border:var(--hairline) solid var(--border-strong);background:var(--field);color:var(--text-muted);font-size:.8125rem;font-weight:500;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s,border-color .15s,transform var(--dur-fast) var(--ease)}.chip:hover{background:var(--field-hover);color:var(--text)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.folder-chips{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:4px;overflow-x:auto}.view-toggle,.admin-filter-tabs{display:inline-flex;gap:2px;padding:2px;border-radius:9px;background:var(--fill)}.admin-filter-tabs{flex-wrap:wrap;width:fit-content}.view-btn,.admin-filter-tab{display:inline-flex;align-items:center;justify-content:center;padding:5px 12px;border:none;border-radius:7px;background:transparent;color:var(--text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s,transform var(--dur-fast) var(--ease)}.view-btn:hover,.admin-filter-tab:hover{color:var(--text)}.view-btn.active,.admin-filter-tab.active{background:var(--thumb);color:var(--text);box-shadow:var(--shadow-xs),0 0 0 var(--hairline) var(--border)}.progress{height:4px;border-radius:999px;overflow:hidden;background:var(--fill)}.progress-bar{position:relative;overflow:hidden;height:100%;border-radius:inherit;background:var(--accent);transition:width var(--dur-slow) var(--ease),background-color var(--dur) ease}.progress-bar.is-warning{background:var(--warning)}.progress-bar.is-success{background:var(--success)}.progress-bar.is-danger{background:var(--danger)}.dot-animation{display:inline-block;width:1em;overflow:hidden;text-align:left;vertical-align:bottom}.skeleton-rows{overflow:hidden}.admin-table-card .skeleton-rows{border:none;border-radius:0;box-shadow:none;background:transparent}.skeleton-row{display:flex;align-items:center;gap:16px;padding:14px 16px}.skeleton-row+.skeleton-row{border-top:var(--hairline) solid var(--border)}.skeleton-row .skeleton:nth-child(2){flex:1}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--skeleton-min, 220px),1fr));gap:14px}.skeleton-card{display:flex;flex-direction:column;gap:10px;padding:16px}@media(max-width:540px){input,select,textarea{font-size:16px!important}}.brand-mark{display:block;flex-shrink:0}.brand-stone{fill:var(--brand-stone)}.brand-ripple{fill:var(--brand-ripple);fill-opacity:.16;stroke:var(--brand-ripple);stroke-width:1.5px;vector-effect:non-scaling-stroke}.brand-mark--alive{overflow:visible}.brand-ink{fill:var(--brand-ink)}.dashboard-layout,.admin-layout{display:flex;min-height:100vh;background:transparent;color:var(--text)}.main-content,.admin-main{flex:1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--dur) var(--ease)}.sidebar,.admin-sidebar{position:fixed;inset:0 auto 0 0;z-index:250;width:var(--sidebar-w);display:flex;flex-direction:column;background:var(--surface);border-right:var(--hairline) solid var(--border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);overflow-x:hidden;transition:transform .25s ease,width var(--dur) var(--ease)}.sidebar-backdrop,.admin-sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;background:var(--overlay)}.admin-sidebar-overlay{display:none}.sidebar-header,.admin-sidebar-header{flex-shrink:0;border-bottom:var(--hairline) solid var(--border)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding-right:10px}.admin-sidebar-header{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.admin-sidebar-top{display:flex;align-items:center;justify-content:space-between;width:100%}.admin-user-info{flex:1;min-width:0}.sidebar-logo,.admin-sidebar-logo{display:flex;align-items:center;gap:10px;min-width:0;flex:1;text-decoration:none;color:var(--text)}.sidebar-logo{height:var(--topbar-h);padding:0 16px}.admin-sidebar-logo{padding:2px 0}.sidebar-logo-text{display:flex;flex-direction:column;min-width:0}.sidebar-brand,.admin-sidebar-brand{font-size:.9375rem;font-weight:600;letter-spacing:var(--tracking-title);line-height:1.2;white-space:nowrap}.sidebar-dot,.admin-sidebar-dot{color:var(--text-muted);font-weight:500}.sidebar-tag,.admin-sidebar-tag{font-size:.6875rem;color:var(--text-muted);line-height:1.2;white-space:nowrap}.sidebar-close-btn{display:none;padding:6px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer}.sidebar-close-btn:hover{background:var(--surface-hover);color:var(--text)}.sidebar-nav,.admin-sidebar-nav{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:12px}.nav-link .ui-icon{width:17px;height:17px}.nav-section-label{padding:8px 10px 4px;font-size:.75rem;font-weight:600;color:var(--text-muted)}.nav-link,.admin-nav-item,.admin-nav-group-header{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:6px 10px;border:none;border-radius:var(--radius);background:none;color:var(--text-muted);font-size:.875rem;font-weight:500;text-align:left;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s}.nav-link:hover,.admin-nav-item:hover,.admin-nav-group-header:hover{background:var(--surface-hover);color:var(--text)}.nav-link.active,.admin-nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-link:hover,.nav-link.active{background:transparent}.nav-link{z-index:1}.nav-link:focus-visible{outline-offset:-2px}.sidebar-nav{position:relative}.nav-pill{position:absolute;top:0;left:0;z-index:0;width:0;height:0;border-radius:var(--radius);background:var(--accent-soft);opacity:0;pointer-events:none;transition:transform var(--dur-slow) var(--ease),width var(--dur-slow) var(--ease),height var(--dur-slow) var(--ease),opacity var(--dur-fast) ease}.nav-pill[data-on="1"]{opacity:1}.nav-pill--hover{background:var(--surface-hover);transition-duration:var(--dur),var(--dur),var(--dur),var(--dur-fast)}.admin-nav-group-header.child-active{color:var(--text)}.nav-link span:first-of-type{flex:1}.admin-nav-icon{display:flex;align-items:center;flex-shrink:0}.admin-nav-group-label,.admin-nav-text-label{flex:1;overflow:hidden;text-overflow:ellipsis;text-align:left}.admin-nav-group-items{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur) var(--ease)}.admin-nav-group-items.open{grid-template-rows:1fr}.admin-nav-group-inner{min-height:0;overflow:hidden;margin-left:18px;padding-left:8px;border-left:var(--hairline) solid var(--border);visibility:hidden;transition:visibility 0s linear var(--dur)}.admin-nav-group-items.open .admin-nav-group-inner{visibility:visible;transition-delay:0s}.admin-nav-item.sub{min-height:30px;font-size:.8125rem}.admin-nav-divider{height:var(--hairline);margin:8px 4px;background:var(--border)}.admin-back-link{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.8125rem;text-decoration:none}.admin-back-link:hover{background:var(--surface-hover);color:var(--text)}.sidebar-toggle{display:none;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.sidebar-toggle:hover{background:var(--surface-hover);color:var(--text)}.sidebar-toggle .ui-icon{width:18px;height:18px}.sidebar-toggle--rail{position:relative;width:40px;height:40px}.sidebar-toggle-logo,.sidebar-toggle-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--dur-fast) ease}.sidebar-toggle-icon{opacity:0;color:var(--text)}.sidebar-toggle--rail:hover .sidebar-toggle-logo,.sidebar-toggle--rail:focus-visible .sidebar-toggle-logo{opacity:0}.sidebar-toggle--rail:hover .sidebar-toggle-icon,.sidebar-toggle--rail:focus-visible .sidebar-toggle-icon{opacity:1}.sidebar-plan{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-top:var(--hairline) solid var(--border)}.sidebar-footer,.admin-sidebar-footer{display:flex;flex-direction:column;gap:8px;padding:10px;border-top:var(--hairline) solid var(--border)}.admin-user-card{display:flex;align-items:center;gap:10px;padding:4px 6px}.user-avatar,.admin-user-avatar,.admin-topbar-avatar,.admin-user-mini-avatar{width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.8125rem;font-weight:600}.user-email,.admin-user-name,.admin-topbar-name{font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{font-size:.6875rem;color:var(--text-muted);text-transform:capitalize}.user-menu-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:6px;border:none;border-radius:var(--radius);background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .15s}.user-menu-trigger:hover,.user-menu-trigger[aria-expanded=true]{background:var(--surface-hover)}.user-menu-trigger.is-compact{width:auto;padding:2px;border-radius:999px}.user-menu-panel{min-width:216px}.user-menu-info{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}.user-menu-chevron{display:flex;color:var(--text-muted)}.user-menu-chevron .ui-icon{width:15px;height:15px}.admin-logout-btn,.admin-sidebar-mode-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border:var(--hairline) solid var(--border-strong);border-radius:var(--radius);background:var(--field);color:var(--text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.admin-logout-btn:hover{background:var(--danger-soft);color:var(--danger);border-color:transparent}.admin-sidebar-mode-btn:hover{background:var(--field-hover);color:var(--text)}.admin-sidebar-footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.app-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--size, 30px);height:var(--size, 30px);border-radius:calc(var(--size, 30px) * .3);background:var(--app-color);color:var(--accent-fg);box-shadow:var(--shadow-xs)}.app-icon .ui-icon{width:54%;height:54%}.app-icon[data-app=cortex]{--app-color: var(--app-cortex)}.app-icon[data-app=thought]{--app-color: var(--app-thought)}.app-icon[data-app=metric]{--app-color: var(--app-metric)}.app-icon[data-app=projection]{--app-color: var(--app-projection)}.app-switcher{width:min(320px,calc(100vw - 16px));padding:6px}.app-switcher-head{padding:6px 10px 2px;font-size:.75rem;font-weight:600;color:var(--text-muted)}.app-switcher-divider{height:var(--hairline);margin:6px 4px;background:var(--border)}.app-switcher-section-label{padding:2px 10px 6px;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.app-list{display:flex;flex-direction:column;gap:2px}.app-tile{position:relative;display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--radius-md);color:var(--text);text-decoration:none;outline:none;transition:background var(--dur-fast) var(--ease)}.app-tile:hover,.app-tile:focus-visible{background:var(--surface-hover)}.app-tile.is-current{background:var(--accent-soft)}.app-tile.is-current:hover,.app-tile.is-current:focus-visible{background:var(--accent-soft-hover)}.app-tile-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.app-tile-name{font-size:.875rem;font-weight:600;letter-spacing:var(--tracking-title)}.app-tile-label{font-size:.75rem;color:var(--text-muted)}.app-tile-check{display:flex;align-items:center;margin-left:auto;color:var(--accent)}.app-tile-check .ui-icon{width:16px;height:16px}.app-tile-badge{position:absolute;top:10px;right:10px;padding:1px 7px;border-radius:999px;background:var(--fill);color:var(--text-muted);font-size:.6875rem;font-weight:600}.topbar .icon-btn,.topbar .menu-btn{border-color:transparent;background:transparent;box-shadow:none}.topbar .menu-btn{transition:background .15s,transform var(--dur-fast) var(--ease)}.topbar .icon-btn:hover:not(:disabled),.topbar .menu-btn:hover{background:var(--fill);color:var(--text)}.topbar .icon-btn:active:not(:disabled),.topbar .menu-btn:active{transform:scale(.94)}.topbar .icon-btn[aria-expanded=true],.topbar .icon-btn[aria-expanded=true]:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.home-shell{min-height:100vh;display:flex;flex-direction:column;background:transparent}.home-main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:56px 32px}.home-hero{margin-bottom:32px}.home-hero .page-desc{margin-top:6px}.app-launch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.app-launch-card{position:relative;display:flex;align-items:center;gap:16px;padding:20px;text-decoration:none;color:var(--text);transition:border-color .15s,transform var(--dur) var(--ease)}.app-launch-card:hover,.app-launch-card:focus-visible{border-color:var(--border-strong);transform:translateY(-1px)}.app-launch-text{display:flex;flex-direction:column;gap:2px;min-width:0}.app-launch-name{font-size:1.0625rem;font-weight:600;letter-spacing:var(--tracking-title)}.app-launch-label{font-size:.8125rem;color:var(--accent);font-weight:500}.app-launch-blurb{font-size:.8125rem;color:var(--text-muted)}.topbar,.admin-topbar{position:sticky;top:0;z-index:100;height:var(--topbar-h);padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-bottom:var(--hairline) solid var(--border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.topbar-left,.topbar-right,.admin-topbar-left,.admin-topbar-right{display:flex;align-items:center;gap:10px;min-width:0}.menu-btn,.admin-menu-btn{display:none;align-items:center;justify-content:center;width:var(--control-h);height:var(--control-h);border:var(--hairline) solid var(--border-strong);border-radius:var(--radius);background:var(--field);color:var(--text);cursor:pointer}.breadcrumbs,.admin-breadcrumbs{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-muted);overflow:hidden}.crumb-item,.admin-breadcrumb-root,.admin-breadcrumb-item{display:flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--text-muted);font-size:inherit;text-decoration:none;white-space:nowrap;cursor:pointer}.admin-breadcrumb-root,.admin-breadcrumb-item{cursor:default}.crumb-item:hover{color:var(--text)}.crumb-item.active,.admin-breadcrumb-item.current{color:var(--text);font-weight:500}.breadcrumbs{min-width:0}.crumb-item.active{min-width:0;overflow:hidden;text-overflow:ellipsis}.crumb-sep,.admin-breadcrumb-sep{color:var(--border-strong)}.admin-topbar-btn{display:inline-flex;align-items:center;gap:6px;height:calc(var(--control-h) - 4px);padding:0 10px;border:var(--hairline) solid var(--border-strong);border-radius:var(--radius);background:var(--field);color:var(--text-muted);font-size:.8125rem;font-weight:500;white-space:nowrap;cursor:pointer}.admin-topbar-btn:hover{background:var(--field-hover);color:var(--text)}.admin-topbar-user{display:flex;align-items:center;gap:8px}.admin-topbar-userinfo{display:flex;flex-direction:column;line-height:1.2}.admin-topbar-name{max-width:140px}.admin-topbar-badge{font-size:.6875rem;color:var(--text-muted)}.admin-mode-btn-text{display:inline}.dashboard-container{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:28px 32px}.admin-content{flex:1}.admin-page-content{display:flex;flex-direction:column;gap:20px;max-width:1360px;padding:28px 32px 64px}.page-header-row,.admin-page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.page-header-row{margin-bottom:20px}.page-title,.admin-page-title{display:flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:700;line-height:1.2;letter-spacing:-.028em}.page-desc,.admin-page-desc{display:flex;align-items:center;gap:8px;margin-top:3px;font-size:.875rem;color:var(--text-muted)}.controls-row,.admin-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.admin-refresh-btn{display:inline-flex;align-items:center;gap:6px}.auth-layout:before,.share-page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--ambient-focus);pointer-events:none}.auth-layout{--auth-gutter: clamp(20px, 4vw, 48px);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:transparent}.auth-top,.auth-body,.auth-footer{width:100%;max-width:1240px;margin-inline:auto;padding-inline:var(--auth-gutter)}.auth-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:24px}.auth-brand{display:flex;align-items:center;gap:10px;font-size:1.0625rem;font-weight:600;letter-spacing:var(--tracking-title)}.auth-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:48px;padding-block:32px}.auth-main{display:flex;justify-content:center;min-width:0}.auth-footer{padding-bottom:24px;font-size:.8125rem;color:var(--text-muted)}.auth-showcase{display:none;max-width:34rem}.auth-headline{font-size:clamp(1.875rem,1rem + 2vw,2.5rem);font-weight:700;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}.auth-headline span{color:var(--text-muted)}.auth-lead{max-width:30rem;margin-top:16px;font-size:1rem;line-height:1.5;color:var(--text-muted)}.auth-apps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:36px 0 0;padding:0;list-style:none}.auth-app{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius-md)}.auth-app-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.auth-app-name{font-size:.9375rem;font-weight:600;letter-spacing:var(--tracking-title)}.auth-app-label{font-size:.8125rem;color:var(--text-muted)}.auth-app .app-tile-badge{top:50%;transform:translateY(-50%)}.auth-card{--control-h: 44px;width:100%;max-width:420px;padding:36px 32px;border-radius:var(--radius-xl)}.auth-card-header{margin-bottom:24px}.auth-title{font-size:1.75rem;font-weight:700;line-height:1.15;letter-spacing:-.03em}.auth-subtitle{margin-top:6px;font-size:.9375rem;line-height:1.45;color:var(--text-muted);text-wrap:pretty}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-submit{width:100%;margin-top:4px;font-size:.9375rem;font-weight:600}.auth-note{margin-top:24px;padding-top:20px;border-top:var(--hairline) solid var(--border);font-size:.8125rem;text-align:center;color:var(--text-muted)}.auth-layout:before{background:var(--ambient-focus),var(--bg)}@media(min-width:960px){.auth-layout:before{background:var(--ambient-auth),var(--bg)}.auth-body{grid-template-columns:minmax(0,1.15fr) minmax(400px,1fr);gap:64px}.auth-main{justify-content:flex-end}.auth-showcase{display:block}}.site-header{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1080px;margin:0 auto;padding:16px 24px}.site-header-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.site-header-brand{font-size:1rem;font-weight:600;letter-spacing:var(--tracking-title)}.site-header-actions{display:flex;align-items:center;gap:8px}.share-page{min-height:100vh;display:flex;flex-direction:column;background:transparent}.share-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 16px}.share-card{width:100%;max-width:480px;padding:28px;display:flex;flex-direction:column;gap:20px;overflow:hidden;border-radius:var(--radius-xl);transition:max-width var(--dur-slow) var(--ease)}.share-card-center{align-items:center;text-align:center;padding:40px 28px}.share-card.has-preview{max-width:720px}.share-card-wide{max-width:640px}.share-folder-list{display:flex;flex-direction:column;max-height:50vh;overflow-y:auto;border:var(--hairline) solid var(--border);border-radius:var(--radius-md)}.share-folder-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:var(--hairline) solid var(--border)}.share-folder-row:last-child{border-bottom:none}.share-folder-name{flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-folder-size{flex-shrink:0;font-size:.8125rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.share-preview{margin:-28px -28px 0;display:flex;align-items:center;justify-content:center;max-height:65vh;background:var(--fill)}.share-preview-image{width:100%;max-height:65vh;object-fit:contain;display:block;background:var(--surface-solid)}.share-preview-media{width:100%;max-height:65vh;display:block;background:#000}.share-preview-frame{width:100%;height:65vh;border:none;background:var(--surface-solid)}.share-preview-audio{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding:28px;color:var(--text-muted)}.share-preview-audio .ui-icon{width:32px;height:32px;color:var(--accent)}.share-preview-audio audio{width:100%;max-width:360px}.share-file{display:flex;align-items:center;gap:16px}.share-file-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-md);font-size:.75rem;font-weight:700}.share-file-meta{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.share-title{font-size:1.125rem;font-weight:600;letter-spacing:var(--tracking-title);line-height:1.35;word-break:break-word}.share-muted{font-size:.875rem;color:var(--text-muted)}.share-stats{display:grid;grid-template-columns:repeat(3,1fr);border-radius:var(--radius-md);background:var(--fill)}.share-stat{display:flex;flex-direction:column;gap:2px;padding:12px;text-align:center}.share-stat+.share-stat{border-left:var(--hairline) solid var(--border-strong)}.share-stat-label{font-size:.75rem;color:var(--text-muted)}.share-stat-value{font-size:.875rem;font-weight:600}.share-download{width:100%;height:calc(var(--control-h) + 6px)}.share-actions{display:flex;gap:8px}.share-actions .btn{flex:1}.share-report{display:flex;flex-direction:column;gap:14px;font-size:.875rem}.share-footer{padding:20px;text-align:center;font-size:.8125rem;color:var(--text-muted)}@media(min-width:901px){.sidebar-toggle--close{display:inline-flex}:root[data-sidebar=collapsed] .dashboard-layout{--sidebar-w: 64px}:root[data-sidebar=collapsed] .dashboard-layout .sidebar-logo,:root[data-sidebar=collapsed] .dashboard-layout .sidebar-toggle--close{display:none}:root[data-sidebar=collapsed] .dashboard-layout .sidebar-toggle--rail{display:inline-flex}:root[data-sidebar=collapsed] .dashboard-layout .sidebar-header{justify-content:center;padding:0;height:var(--topbar-h)}:root[data-sidebar=collapsed] .dashboard-layout .sidebar-nav{align-items:center;padding:12px 0}:root[data-sidebar=collapsed] .dashboard-layout .nav-group{align-items:center;width:100%}:root[data-sidebar=collapsed] .dashboard-layout .nav-section-label{display:none}:root[data-sidebar=collapsed] .dashboard-layout .nav-group+.nav-group{margin-top:8px}:root[data-sidebar=collapsed] .dashboard-layout .nav-group+.nav-group:before{content:"";width:28px;height:var(--hairline);margin:0 0 8px;background:var(--border)}:root[data-sidebar=collapsed] .dashboard-layout .nav-link{width:40px;min-height:40px;height:40px;padding:0;gap:0;justify-content:center}:root[data-sidebar=collapsed] .dashboard-layout .nav-link>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}:root[data-sidebar=collapsed] .dashboard-layout .nav-link .ui-icon{width:19px;height:19px}:root[data-sidebar=collapsed] .dashboard-layout .nav-link:hover svg{transform:none}:root[data-sidebar=collapsed] .dashboard-layout .sidebar-plan{align-items:center;padding:10px 0}:root[data-sidebar=collapsed] .dashboard-layout .storage-meter-head,:root[data-sidebar=collapsed] .dashboard-layout .storage-meter-row,:root[data-sidebar=collapsed] .dashboard-layout .storage-meter-foot{display:none}:root[data-sidebar=collapsed] .dashboard-layout .storage-meter{align-items:center;width:100%}:root[data-sidebar=collapsed] .dashboard-layout .storage-line{width:32px}:root[data-sidebar=collapsed] .dashboard-layout .sidebar-footer{align-items:center;padding:10px 0}:root[data-sidebar=collapsed] .dashboard-layout .user-menu-trigger{width:40px;padding:4px;justify-content:center}:root[data-sidebar=collapsed] .dashboard-layout .user-menu-info,:root[data-sidebar=collapsed] .dashboard-layout .user-menu-chevron{display:none}}@media(max-width:900px){.main-content,.admin-main{margin-left:0}.sidebar,.admin-sidebar{width:min(280px,86vw);transform:translate(-100%);background:var(--surface-thick);-webkit-backdrop-filter:var(--blur-thick);backdrop-filter:var(--blur-thick)}.sidebar.open,.admin-sidebar.open{transform:none;box-shadow:var(--shadow-md)}.admin-sidebar-overlay.open{display:block}.sidebar-close-btn,.menu-btn,.admin-menu-btn{display:flex}.topbar,.admin-topbar{padding:0 16px}.admin-topbar-btn span,.admin-topbar-userinfo{display:none}.dashboard-container{padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px))}.admin-page-content{padding:20px 16px 60px}}@media(max-width:540px){.auth-card{padding:24px 20px}.topbar .icon-btn[title="Toggle theme"],.topbar .theme-toggle{display:none}.page-title,.admin-page-title{font-size:1.375rem}.breadcrumbs .crumb-item:not(:last-child),.breadcrumbs .crumb-sep{display:none}.search-box input{width:100%}}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.file-card{display:flex;flex-direction:column;gap:10px;padding:14px;overflow:hidden;transition:border-color .15s,background .15s,transform var(--dur) var(--ease)}.file-card:hover{border-color:var(--border-strong)}.file-card.selected-card{border-color:var(--accent);background:var(--accent-soft)}.file-card-preview{position:relative;aspect-ratio:16 / 10;margin:-14px -14px 0;display:flex;align-items:center;justify-content:center;background:var(--fill)}.file-card-thumb{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.file-card-icon{display:flex;flex-direction:column;align-items:center;gap:6px}.file-card-icon .ui-icon{width:32px;height:32px}.file-card-icon span{font-size:.6875rem;font-weight:700;letter-spacing:.03em}.file-card-preview .shared-badge{position:absolute;top:10px;right:10px}.file-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.file-card-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-card-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-muted)}.file-card-actions{display:flex;align-items:center;gap:6px;padding-top:10px;border-top:var(--hairline) solid var(--border)}.collaborators-panel{display:flex;flex-direction:column;gap:12px}.collaborators-invite-row{display:flex;gap:8px;align-items:center}.collaborators-invite-row .input-field{flex:1;min-width:0}.collaborators-list{display:flex;flex-direction:column;max-height:280px;overflow-y:auto;border:var(--hairline) solid var(--border);border-radius:var(--radius-md)}.collaborator-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:var(--hairline) solid var(--border)}.collaborator-row:last-child{border-bottom:none}.collaborator-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.collaborator-email{font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collaborator-status{font-size:.72rem;color:var(--text-muted)}.collaborators-empty{padding:24px 16px;text-align:center;font-size:.8125rem;color:var(--text-muted)}.share-picker{display:flex;flex-direction:column;gap:12px}.share-picker-list{display:flex;flex-direction:column;max-height:360px;overflow-y:auto;border:var(--hairline) solid var(--border);border-radius:var(--radius-md)}.share-picker-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-bottom:var(--hairline) solid var(--border);background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .15s}.share-picker-row:last-child{border-bottom:none}.share-picker-row:hover,.share-picker-row:focus-visible{background:var(--surface-hover);outline:none}.share-picker-name{flex:1;min-width:0;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-picker-meta{flex-shrink:0;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.share-picker-empty{padding:32px 16px;text-align:center;font-size:.8125rem;color:var(--text-muted)}.folders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.folder-card{display:flex;flex-direction:column;gap:12px;padding:16px;cursor:pointer;transition:border-color .15s,background .15s,transform var(--dur) var(--ease)}.folder-card:hover{border-color:var(--border-strong);background:var(--surface-thick)}.folder-card-top{display:flex;align-items:center;justify-content:space-between}.folder-icon,.folder-icon-inline{display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent)}.folder-icon{width:40px;height:40px;border-radius:var(--radius-md)}.folder-icon-inline{width:32px;height:32px;border-radius:var(--radius)}.folder-name{font-size:.9375rem;font-weight:500;letter-spacing:var(--tracking-title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-meta{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:var(--hairline) solid var(--border);font-size:.8125rem;color:var(--text-muted)}.folder-list-item-name{display:flex;align-items:center;gap:12px;font-weight:500;cursor:pointer}.folder-list-item-name:hover{color:var(--accent)}.folder-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.folder-mini{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s}.folder-mini:hover{border-color:var(--border-strong);background:var(--surface-thick)}.folder-mini-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500}.folder-mini-count{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.file-card[draggable=true],.data-table tr[draggable=true]{cursor:grab}body.is-dragging-item,body.is-dragging-item *{cursor:grabbing!important}body.is-dragging-item .file-card:not(.is-dragging),body.is-dragging-item .data-table tbody tr:not(.is-dragging){opacity:.55}.file-card.is-dragging,.data-table tr.is-dragging{opacity:.4}body.is-dragging-item .chip:not(.active),body.is-dragging-item .folder-mini{border-style:dashed;border-color:var(--border-strong)}.chip.is-drop-target,.folder-mini.is-drop-target{border-style:solid!important;border-color:var(--accent)!important;background:var(--accent-soft);color:var(--accent)}.drag-ghost{position:fixed;top:-1000px;left:-1000px;max-width:260px;padding:8px 14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);border-color:var(--accent);border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.dropzone{--dz-stroke: var(--border-strong);--dz-dash: 7 6;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;padding:40px 24px;text-align:center;background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);transition:background var(--dur) var(--ease),box-shadow var(--dur-slow) var(--ease),transform var(--dur-slow) var(--ease-spring)}.dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.dropzone[data-state=idle]{cursor:pointer}.dropzone[data-state=idle]:hover{--dz-stroke: color-mix(in srgb, var(--accent) 60%, var(--border-strong));background:var(--surface-thick)}.dropzone-border{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.dropzone-border rect{rx:var(--radius-lg);ry:var(--radius-lg);fill:none;stroke:var(--dz-stroke);stroke-width:1.5;stroke-dasharray:var(--dz-dash);transition:stroke var(--dur) ease,stroke-width var(--dur) ease,stroke-dasharray var(--dur-slow) var(--ease)}.dropzone[data-state=dragover]{--dz-stroke: var(--accent);--dz-dash: 9 6;background:color-mix(in srgb,var(--accent) 8%,var(--surface-thick));box-shadow:var(--shadow-card),0 0 0 5px var(--accent-soft),0 14px 56px color-mix(in srgb,var(--accent) 26%,transparent);transform:scale(1.008)}.dropzone[data-state=dragover] .dropzone-border{animation:dz-glow 1.6s ease-in-out infinite}.dropzone[data-state=dragover] .dropzone-border rect{stroke-width:2.25;animation:dz-march .9s linear infinite}.dropzone[data-state=uploading]{--dz-stroke: color-mix(in srgb, var(--accent) 55%, transparent);--dz-dash: 1200 0}.dropzone[data-state=success]{--dz-stroke: color-mix(in srgb, var(--success) 55%, transparent);--dz-dash: 1200 0}.dropzone[data-state=error]{--dz-stroke: color-mix(in srgb, var(--danger) 55%, transparent);--dz-dash: 1200 0}.dropzone-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;max-width:460px;animation:dz-in var(--dur-slow) var(--ease) backwards;transition:opacity var(--dur) ease}.dropzone[data-state=dragover] .dropzone-body{opacity:0}.dropzone-drop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease)}.dropzone[data-state=dragover] .dropzone-drop{opacity:1;pointer-events:auto}.dropzone-drop .dropzone-icon{background:var(--accent-solid);color:var(--accent-fg);box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 38%,transparent)}.dropzone[data-state=dragover] .dropzone-drop .dropzone-icon{animation:dz-bounce 1s var(--ease) infinite}.dropzone-drop .dropzone-sub{margin-bottom:0}.dropzone-icon{display:flex;align-items:center;justify-content:center;width:68px;height:68px;margin:0 auto 18px;border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent);transition:transform var(--dur-slow) var(--ease-spring),background var(--dur) ease,color var(--dur) ease}.dropzone-icon .ui-icon{width:32px;height:32px}.dropzone-icon.is-danger{background:var(--danger-soft);color:var(--danger)}.dropzone[data-state=idle]:hover .dropzone-body .dropzone-icon{transform:translateY(-2px) scale(1.05)}.dropzone-title{margin-bottom:6px;font-size:1.1875rem;font-weight:600;letter-spacing:var(--tracking-title)}.dropzone-sub{margin-bottom:18px;max-width:100%;font-size:.875rem;color:var(--text-muted)}.dropzone-hint{margin-top:16px;font-size:.8125rem;color:var(--text-muted)}.dropzone-hint strong{color:var(--text);font-weight:600}.dropzone-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.dropzone-file{display:flex;align-items:center;justify-content:center;gap:10px;max-width:100%;margin-bottom:14px}.dropzone-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:500}.dropzone-sub .dropzone-file-name{display:inline-block;max-width:240px;vertical-align:bottom;font-size:inherit;color:var(--text)}.dropzone-percent{margin-bottom:16px;font-size:3rem;font-weight:700;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.dropzone-percent span{margin-left:2px;font-size:1.5rem;font-weight:600;letter-spacing:0;color:var(--text-muted)}.dropzone-progress{width:100%;max-width:380px}.dropzone-meta{min-height:1.5em;margin-top:12px;font-size:.8125rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.dropzone-check{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:16px;color:var(--success)}.dropzone-check:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid currentColor;opacity:0;animation:dz-ring .9s var(--ease) .2s}@media(max-width:640px){.dropzone{min-height:280px;padding:28px 16px}.dropzone-percent{font-size:2.5rem}}.upload-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:var(--radius-md)}.upload-item-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-card{position:fixed;right:24px;bottom:24px;z-index:9999;width:400px;max-width:calc(100vw - 32px);padding:16px 18px;border-radius:var(--radius-lg);animation:toastIn var(--dur) var(--ease);transition:border-color var(--dur) ease}.upload-card.is-done{border-color:color-mix(in srgb,var(--success) 45%,transparent)}.custom-context-menu{position:fixed;z-index:9999;min-width:200px;max-width:min(280px,calc(100vw - 32px));max-height:calc(100vh - 24px);overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding:5px;border-radius:var(--radius-md);-webkit-user-select:none;user-select:none}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:.875rem;text-align:left;cursor:pointer}.context-menu-item svg{color:var(--text-muted)}.context-menu-item .ui-icon{width:15px;height:15px}.context-menu-item:hover{background:var(--surface-hover)}.context-menu-item.danger,.context-menu-item.danger svg{color:var(--danger)}.context-menu-item.danger:hover{background:var(--danger-soft)}.context-menu-divider{height:var(--hairline);margin:4px 8px;background:var(--border)}.context-menu-header{max-width:260px;padding:6px 10px 4px;font-size:.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storage-meter{display:flex;flex-direction:column;gap:10px}.storage-meter-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.storage-meter-eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.storage-meter-badge{font-size:.75rem;font-weight:600;padding:3px 9px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);white-space:nowrap}.storage-meter-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:.8125rem;color:var(--text-muted)}.storage-meter-row strong{font-size:1rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.storage-line{position:relative;height:4px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent)}.storage-line-flow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--accent);will-change:opacity}.storage-meter-foot{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--text-muted)}.storage-meter-foot .ui-icon{width:15px;height:15px;color:var(--accent)}.soon{max-width:960px}.soon-hero{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 24px;margin-bottom:32px;text-align:center;border-radius:var(--radius-xl)}.soon-title{font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.soon-desc{max-width:560px;font-size:.9375rem;color:var(--text-muted)}.soon-form{display:flex;gap:8px;width:100%;max-width:440px}.soon-joined{padding:8px 14px;border-radius:var(--radius);background:var(--success-soft);color:var(--success);font-size:.875rem;font-weight:500}.soon-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.soon-section-title{margin-bottom:14px;font-size:1rem;font-weight:600;letter-spacing:var(--tracking-title)}.soon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(max-width:640px){.soon-grid{grid-template-columns:1fr}.soon-form{flex-direction:column}}.soon-feature{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.soon-feature h3{font-size:.9375rem;font-weight:600;letter-spacing:var(--tracking-title)}.soon-feature p{font-size:.875rem;color:var(--text-muted)}.soon-feature-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:4px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent)}.soon-feature-tag{font-size:.75rem;color:var(--text-muted)}.preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--overlay)}.preview-dialog{display:flex;flex-direction:column;width:min(1100px,100%);height:min(86vh,900px);overflow:hidden;border-radius:var(--radius-xl);outline:none}.preview-backdrop.is-full{padding:0}.preview-dialog.is-full{width:100%;height:100%;border-radius:0}.preview-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:var(--hairline) solid var(--border)}.preview-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.preview-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;letter-spacing:var(--tracking-title)}.preview-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.preview-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.preview-body{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--surface-hover)}.preview-image,.preview-media{max-width:100%;max-height:100%;object-fit:contain}.preview-frame{width:100%;height:100%;border:none;background:var(--surface-solid)}.preview-text-wrap{width:100%;height:100%;display:flex;flex-direction:column}.preview-text{flex:1;min-height:0;margin:0;padding:16px 20px;overflow:auto;font-family:var(--mono);font-size:.8125rem;line-height:1.6;letter-spacing:0;white-space:pre-wrap;word-break:break-word}.preview-note{padding:8px 20px;border-top:var(--hairline) solid var(--border);font-size:.75rem;color:var(--text-muted)}.preview-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.preview-empty,.preview-audio{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px;text-align:center;color:var(--text-muted)}.preview-empty strong,.preview-audio strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:1rem;font-weight:600;letter-spacing:var(--tracking-title)}.preview-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-lg);background:var(--fill);color:var(--text-muted)}.preview-empty-icon .ui-icon{width:26px;height:26px}.preview-empty-actions{display:flex;align-items:center;gap:8px}.preview-audio audio{width:min(420px,100%)}.preview-converting{position:absolute;left:50%;bottom:20px;transform:translate(-50%);z-index:1;width:min(420px,calc(100% - 32px));display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px;border-radius:var(--radius-lg);border:var(--hairline) solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow-md);font-size:.8125rem;line-height:1.4;text-align:center;color:var(--text-muted)}.preview-converting .progress-bar{width:100%}.convert-menu .menu-header-sub{text-transform:none}@media(max-width:640px){.preview-backdrop{padding:0}.preview-dialog{width:100%;height:100%;border-radius:0}.preview-header .btn{display:none}.preview-header .btn.preview-convert{display:inline-flex;padding:0 10px}.preview-convert-label,.preview-full-btn{display:none}}.preview-actions .icon-btn.is-active{background:var(--accent-soft);color:var(--accent);border-color:transparent}.preview-comments{flex-shrink:0;max-height:240px;overflow-y:auto;border-top:var(--hairline) solid var(--border);background:var(--surface-solid)}.comments-panel,.comments-list{display:flex;flex-direction:column}.comment-row{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:var(--hairline) solid var(--border)}.comment-row:last-child{border-bottom:none}.comment-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.comment-head{display:flex;align-items:baseline;gap:8px}.comment-author{font-size:.8125rem;font-weight:600}.comment-time{font-size:.72rem;color:var(--text-muted)}.comment-text{font-size:.8125rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.comments-empty{padding:20px 16px;text-align:center;font-size:.8125rem;color:var(--text-muted)}.comment-composer{display:flex;gap:8px;padding:10px 16px;border-top:var(--hairline) solid var(--border)}.comment-composer .input-field{flex:1;min-width:0}.office-shell{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg);color:var(--text)}.office-frame{position:relative;flex:1;min-height:0}.office-frame iframe{display:block;border:0}.office-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;gap:14px;padding:20px 24px;background:var(--bg)}.office-shell>.office-loading{position:static;flex:1}.office-loading-page{flex:1;display:flex;flex-direction:column;gap:12px;align-items:center;padding:40px 24px}.office-loading-page .skeleton{max-width:640px}.office-problem{margin:auto;max-width:460px}.office-problem h3{color:var(--text);font-size:1.0625rem;font-weight:600;letter-spacing:var(--tracking)}.office-problem-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px}.ai-conn{display:flex;flex-direction:column;gap:16px;max-width:720px}.ai-conn-card{display:flex;flex-direction:column;gap:18px;padding:24px 28px}.ai-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ai-status-text{font-size:.8125rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.ai-note{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:var(--radius-md);background:var(--fill);font-size:.875rem;line-height:1.5;color:var(--text)}.ai-note.is-warning{background:var(--warning-soft)}.ai-note code,.ai-code{font-family:var(--mono);font-size:.8125rem;letter-spacing:0;overflow-wrap:anywhere}.ai-code{display:block;padding:8px 10px;border-radius:10px;background:var(--surface-solid);border:var(--hairline) solid var(--border);-webkit-user-select:all;user-select:all}.ai-field-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}.ai-check{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;line-height:1.4;color:var(--text);cursor:pointer}.ai-check input{margin-top:2px;accent-color:var(--accent-solid)}.ai-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;margin-top:4px}.ai-actions-start{display:flex;flex-wrap:wrap;gap:8px;margin-right:auto}.ai-fineprint{font-size:.8125rem;line-height:1.5;color:var(--text-muted)}.ai-fineprint strong{color:var(--text);font-weight:600}@media(max-width:640px){.ai-conn-card{padding:20px 18px}.ai-actions-start{width:100%}}.doc-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:9px;background:var(--app-thought);color:var(--accent-fg)}.doc-icon .ui-icon{width:16px;height:16px}.doc-title-cell{display:flex;align-items:center;gap:12px;min-width:0}.doc-title-text{display:flex;flex-direction:column;min-width:0}.doc-excerpt{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--text-muted)}.doc-row{cursor:pointer}.doc-title-text a{color:inherit;text-decoration:none}.doc-title-text a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.doc-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.doc-card{display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s}.doc-card:hover{border-color:var(--border-strong)}.doc-card-preview{height:168px;padding:18px 22px 0;overflow:hidden;background:var(--fill)}.doc-card-page{position:relative;width:min(100%,148px);height:100%;margin:0 auto;overflow:hidden;border:var(--hairline) solid var(--border);border-bottom:0;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--surface-solid);box-shadow:var(--shadow-xs)}.doc-card-empty{display:block;padding:14px 16px;font-size:.5625rem;line-height:1.6;color:var(--text-muted)}.doc-card-empty:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 50%,var(--surface-solid))}.doc-card-foot{display:flex;align-items:center;gap:10px;padding:12px 8px 12px 14px;border-top:var(--hairline) solid var(--border)}.doc-card-text{display:flex;flex:1;flex-direction:column;min-width:0}.doc-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500}.doc-card-meta{font-size:.75rem;color:var(--text-muted)}.doc-section-title{font-size:1rem;font-weight:600;letter-spacing:var(--tracking-title)}.doc-recent-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:28px 0 14px}.doc-templates{padding:18px 20px 14px}.doc-templates-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.doc-templates-toggle .ui-icon{transition:transform var(--dur) var(--ease)}.doc-templates-toggle[aria-expanded=true] .ui-icon{transform:rotate(90deg)}.doc-templates-row{display:flex;gap:16px;margin:0 -20px;padding:8px 20px 10px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:20px;scrollbar-width:none}.doc-templates-row::-webkit-scrollbar{display:none}.doc-templates-row.is-open{flex-wrap:wrap;row-gap:22px;overflow:visible}.doc-template{position:relative;display:flex;flex:0 0 148px;flex-direction:column;gap:3px;min-width:0;scroll-snap-align:start}.doc-template-thumb{width:148px;height:192px;margin-bottom:7px;overflow:hidden;border:var(--hairline) solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-solid);box-shadow:var(--shadow-xs);transition:border-color .15s,box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.doc-template:hover .doc-template-thumb{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.doc-template:has(.doc-template-open:focus-visible) .doc-template-thumb{border-color:var(--accent);box-shadow:var(--ring)}.doc-template[aria-busy=true] .doc-template-thumb{opacity:.6}.doc-template-open{padding:0;border:0;background:none;color:var(--text);font:inherit;font-size:.8125rem;font-weight:600;letter-spacing:var(--tracking-title);text-align:left;cursor:pointer;outline:none}.doc-template-open:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.doc-template-open:disabled{cursor:default}.doc-template-kind{font-size:.75rem;color:var(--text-muted)}.doc-template-blank{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--app-thought)}.doc-template-blank .ui-icon{width:44px;height:44px;stroke-width:1.5}.doc-thumb{position:relative;width:100%;height:100%;overflow:hidden}.doc-thumb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 72%,var(--surface-solid));pointer-events:none}.doc-thumb-page{width:720px;height:934px;min-height:0;padding:60px 60px 0;overflow:hidden;transform:scale(.2056);transform-origin:0 0;-webkit-user-select:none;user-select:none;pointer-events:none}.doc-thumb-page>:first-child{margin-top:0}.doc-shell{min-height:100vh;color:var(--text)}.doc-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--bg);pointer-events:none}.doc-header{position:sticky;top:0;z-index:100;background:var(--surface);border-bottom:var(--hairline) solid var(--border);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.doc-header-main{display:flex;align-items:center;gap:12px;padding:10px 16px 0}.doc-home{display:inline-flex;flex-shrink:0;border-radius:10px;transition:transform var(--dur-fast) var(--ease)}.doc-home:hover{transform:scale(1.05)}.doc-titlebar{display:flex;flex:1;flex-direction:column;gap:1px;min-width:0}.doc-title-input{width:min(100%,420px);height:30px;margin-left:-8px;padding:0 8px;border:var(--hairline) solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;font-size:1.0625rem;font-weight:600;letter-spacing:var(--tracking-title);text-overflow:ellipsis;transition:background .15s,border-color .15s,box-shadow .15s}.doc-title-input::placeholder{color:var(--text-muted);font-weight:500}.doc-title-input:hover:not(:disabled):not(:read-only){border-color:var(--border-strong)}.doc-title-input:focus{outline:none;border-color:var(--accent);background:var(--field);box-shadow:var(--ring)}.doc-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.menubar{display:flex;align-items:center;gap:1px;margin-left:-8px;overflow-x:auto;scrollbar-width:none}.menubar::-webkit-scrollbar{display:none}.menubar-btn{height:24px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-size:.8125rem;white-space:nowrap;cursor:pointer;transition:background .15s}.menubar-btn:hover:not(:disabled),.menubar-btn[aria-expanded=true]{background:var(--fill)}.menubar-btn:disabled{color:var(--text-muted);opacity:.6;cursor:default}.doc-toolbar{display:flex;align-items:center;gap:2px;margin:8px 16px 10px;padding:4px 8px;overflow-x:auto;scrollbar-width:none;border-radius:999px;background:var(--fill)}.doc-toolbar::-webkit-scrollbar{display:none}.tool-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--text);cursor:pointer;transition:background .15s,color .15s}.tool-btn .ui-icon{width:16px;height:16px}.tool-btn:hover:not(:disabled),.tool-select:hover:not(:disabled),.tool-size-box:hover:not(:has(:disabled)),.tool-size-box:focus-within,.tool-size-box:has([aria-expanded=true]),.tool-btn[aria-expanded=true],.tool-select[aria-expanded=true]{background:color-mix(in srgb,var(--text) 9%,transparent)}.tool-btn.is-active{background:var(--accent-soft);color:var(--accent)}.tool-btn:disabled,.tool-select:disabled,.tool-size-box:has(:disabled){opacity:.35;cursor:default}.tool-sep{flex-shrink:0;width:var(--hairline);height:18px;margin:0 6px;background:var(--border-strong)}.tool-select{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;flex-shrink:0;min-width:118px;height:30px;padding:0 8px 0 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:.8125rem;cursor:pointer}.tool-select-size{min-width:60px}.tool-select-font{min-width:104px}.tool-select .ui-icon{width:14px;height:14px;color:var(--text-muted)}.tool-size-box{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;width:76px;height:30px;padding:0 4px 0 10px;border-radius:8px}.tool-size-input{flex:1 1 0%;width:0;min-width:0;height:100%;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:.8125rem;text-align:left;cursor:text;border-radius:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tool-size-input:focus,.tool-size-input:focus-visible{outline:none;box-shadow:none}.tool-size-input::selection{background:var(--accent-soft)}.tool-size-divider{flex-shrink:0;width:var(--hairline);height:16px;background:var(--border-strong)}.tool-size-caret{display:grid;place-items:center;flex-shrink:0;width:20px;height:22px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.tool-size-caret .ui-icon{width:14px;height:14px}.icon-swatch-bar{stroke:var(--swatch, currentColor)}.link-popover{width:min(320px,calc(100vw - 16px));padding:10px}.link-form{display:flex;flex-direction:column;gap:10px}.link-form-actions{display:flex;justify-content:flex-end;gap:8px}.doc-canvas{padding:28px 16px 64px;overflow-x:auto;overflow-y:clip}.doc-zoom{width:calc(min(816px,100%) * var(--doc-zoom, 1));margin:0 auto}.doc-paper{position:relative;display:flex;flex-direction:column;width:calc(100% / var(--doc-zoom, 1));min-height:1056px;padding:96px;background:var(--surface-solid);border:var(--hairline) solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);transform:scale(var(--doc-zoom, 1));transform-origin:top left}.doc-editor-wrap{display:flex;flex:1;flex-direction:column}.doc-skeleton{display:flex;flex-direction:column;gap:12px;margin-top:28px}.doc-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;width:min(816px,100%);margin:0 auto 14px;padding:10px 14px;border-radius:var(--radius-md);font-size:.875rem}.doc-banner.is-warning{background:var(--warning-soft);color:var(--warning)}.doc-banner-actions{display:flex;gap:8px}.doc-status-bar{position:fixed;bottom:16px;z-index:5;display:flex;align-items:center;padding:5px 14px;border-radius:999px}.doc-status-bar.is-counts{left:20px}.doc-status-bar.is-zoom{right:20px;gap:2px;padding:5px 10px}.doc-count{font-size:.75rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.doc-zoom-btn{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:var(--text);cursor:pointer;transition:background .15s}.doc-zoom-btn .ui-icon{width:13px;height:13px}.doc-zoom-btn:hover:not(:disabled){background:color-mix(in srgb,var(--text) 9%,transparent)}.doc-zoom-btn:disabled{opacity:.35;cursor:default}.doc-zoom-slider{width:84px;height:4px;margin:0 4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;background:color-mix(in srgb,var(--text) 16%,transparent);cursor:pointer}.doc-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border:0;border-radius:50%;background:var(--accent-solid);cursor:pointer}.doc-zoom-slider::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--accent-solid);cursor:pointer}.doc-zoom-slider:focus-visible{outline:none;box-shadow:var(--ring)}.doc-zoom-value{min-width:40px;padding:3px 6px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);font:inherit;font-size:.75rem;font-variant-numeric:tabular-nums;text-align:right;cursor:pointer}.doc-zoom-value:hover{background:color-mix(in srgb,var(--text) 9%,transparent);color:var(--text)}.doc-editor{flex:1;min-height:46vh;outline:none;font-size:1.0625rem;line-height:1.7;color:var(--text);overflow-wrap:anywhere}.doc-editor>*+*{margin-top:.75em}.doc-editor>:first-child{margin-top:0}.doc-editor h1,.doc-editor h2,.doc-editor h3{margin-top:1.6em;font-weight:700;line-height:1.25;letter-spacing:-.02em}.doc-editor h1{font-size:1.875rem}.doc-editor h2{font-size:1.5rem}.doc-editor h3{font-size:1.2rem}.doc-editor ul,.doc-editor ol{padding-left:1.5em}.doc-editor li+li{margin-top:.25em}.doc-editor li>p{margin:0}.doc-editor blockquote{padding-left:1em;border-left:3px solid var(--border-strong);color:var(--text-muted)}.doc-editor code{padding:.15em .4em;border-radius:6px;background:var(--fill);font-family:var(--mono);font-size:.875em;letter-spacing:0}.doc-editor pre{padding:14px 16px;overflow-x:auto;border-radius:var(--radius-md);background:var(--fill)}.doc-editor pre code{padding:0;background:none;font-size:.8125rem;line-height:1.6}.doc-editor hr{margin:1.6em 0;border:none;border-top:var(--hairline) solid var(--border-strong)}.doc-editor a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.doc-editor .tableWrapper{overflow-x:auto;margin:.75em 0}.doc-editor table{border-collapse:collapse;table-layout:fixed;width:100%}.doc-editor td,.doc-editor th{position:relative;min-width:80px;box-sizing:border-box;padding:6px 10px;vertical-align:top;border:var(--hairline) solid var(--border-strong)}.doc-editor th{background:var(--fill);font-weight:600;text-align:left}.doc-editor td>p,.doc-editor th>p{margin:0}.doc-editor .selectedCell{background:var(--accent-soft)}.doc-editor .column-resize-handle{position:absolute;top:0;right:-2px;bottom:0;width:4px;background:var(--accent);pointer-events:none}.doc-editor.resize-cursor{cursor:col-resize}.bubble-btn.is-text.is-danger{color:var(--danger)}.bubble-btn.is-text.is-danger:hover{background:var(--danger-soft)}.doc-editor mark{padding:0 2px;border-radius:3px;background:var(--warning-soft);color:inherit}.doc-editor img{display:block;max-width:100%;height:auto;border-radius:var(--radius)}.doc-editor img.ProseMirror-selectednode{outline:2px solid var(--accent);outline-offset:2px}.doc-editor ul[data-type=taskList]{padding-left:0;list-style:none}.doc-editor ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:10px}.doc-editor ul[data-type=taskList] li>label{flex-shrink:0;margin-top:.4em;-webkit-user-select:none;user-select:none}.doc-editor ul[data-type=taskList] li>div{flex:1;min-width:0}.doc-editor ul[data-type=taskList] li[data-checked=true]>div{color:var(--text-muted);text-decoration:line-through}.doc-editor input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.doc-editor sub,.doc-editor sup{font-size:.75em;line-height:0}.doc-editor [data-block-style=title]{margin-top:0;font-size:2.25rem;font-weight:700;line-height:1.15;letter-spacing:-.03em}.doc-editor [data-block-style=subtitle]{margin-top:.1em;font-size:1.25rem;font-weight:400;line-height:1.35;color:var(--text-muted)}.doc-editor [data-block-style=no-spacing]{margin-top:0;margin-bottom:0}.doc-editor [data-indent="1"]{margin-left:2em}.doc-editor [data-indent="2"]{margin-left:4em}.doc-editor [data-indent="3"]{margin-left:6em}.doc-editor [data-indent="4"]{margin-left:8em}.doc-editor [data-indent="5"]{margin-left:10em}.doc-editor [data-indent="6"]{margin-left:12em}.doc-editor [data-indent="7"]{margin-left:14em}.doc-editor [data-indent="8"]{margin-left:16em}.doc-editor [data-space-before="1"]{margin-top:1.25em}.doc-editor [data-space-before="2"]{margin-top:1.75em}.doc-editor [data-space-before="3"]{margin-top:2.25em}.doc-editor [data-space-before="4"]{margin-top:2.75em}.doc-editor [data-space-after="1"]{margin-bottom:.5em}.doc-editor [data-space-after="2"]{margin-bottom:1em}.doc-editor [data-space-after="3"]{margin-bottom:1.5em}.doc-editor [data-space-after="4"]{margin-bottom:2em}.doc-editor [data-line-height="1"]{line-height:1}.doc-editor [data-line-height="2"]{line-height:1.15}.doc-editor [data-line-height="3"]{line-height:1.5}.doc-editor [data-line-height="4"]{line-height:2}.doc-editor [data-line-height="5"]{line-height:2.5}.doc-editor [data-line-height="6"]{line-height:3}.doc-editor ol[data-list-style=multilevel]{list-style-type:decimal}.doc-editor ol[data-list-style=multilevel] ol{list-style-type:lower-alpha}.doc-editor ol[data-list-style=multilevel] ol ol{list-style-type:lower-roman}.doc-editor ol[data-list-style=multilevel] ol ol ol{list-style-type:decimal}.style-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:min(360px,calc(100vw - 16px));padding:8px}.style-tile{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:0;padding:10px 12px;border:var(--hairline) solid transparent;border-radius:var(--radius);background:var(--surface-hover);text-align:left;cursor:pointer}.style-tile:hover{background:var(--fill)}.style-tile.is-active{border-color:var(--accent);background:var(--accent-soft)}.style-tile-sample{font-size:.9375rem;line-height:1.3;color:var(--text)}.style-tile-label{font-size:.6875rem;color:var(--text-muted)}.style-sample-title{font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.style-sample-subtitle{font-size:1rem;color:var(--text-muted)}.style-sample-h1{font-size:1.15rem;font-weight:700}.style-sample-h2{font-size:1.05rem;font-weight:700}.style-sample-h3{font-size:.95rem;font-weight:700}.style-sample-quote{font-style:italic;color:var(--text-muted)}.style-sample-code-block{font-family:var(--mono);font-size:.8125rem}.style-sample-no-spacing{line-height:1.15}.color-picker{padding:8px}.color-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.color-swatch{position:relative;width:26px;height:26px;padding:0;border:var(--hairline) solid var(--border-strong);border-radius:7px;background:var(--swatch);cursor:pointer;transition:transform .12s var(--ease)}.color-swatch:hover{transform:scale(1.1)}.color-swatch.is-active{box-shadow:0 0 0 2px var(--surface-solid),0 0 0 4px var(--accent)}.color-swatch.is-none{background:var(--fill)}.color-swatch.is-none:before{content:"";position:absolute;left:50%;top:50%;width:130%;border-top:var(--hairline) solid var(--danger);transform:translate(-50%,-50%) rotate(-45deg)}.color-swatch-custom{display:block;overflow:hidden}.color-swatch-custom input[type=color]{position:absolute;top:-25%;right:-25%;bottom:-25%;left:-25%;width:150%;height:150%;padding:0;border:0;background:none;cursor:pointer}.doc-editor .is-empty:before{content:attr(data-placeholder);float:left;height:0;color:var(--text-muted);opacity:.55;pointer-events:none}.doc-editor .is-empty[style*="text-align: right"]:before,.doc-editor .is-empty[style*="text-align: center"]:before,.doc-editor .is-empty[style*="text-align: justify"]:before{float:none;display:block;text-align:inherit}.slash-menu{position:relative;z-index:10000;width:300px;max-height:340px;padding:6px;overflow-y:auto;border-radius:var(--radius-md)}.slash-empty{padding:12px;text-align:center;font-size:.8125rem;color:var(--text-muted)}.slash-item{display:flex;align-items:center;gap:12px;width:100%;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left;cursor:pointer}.slash-item.is-selected{background:var(--surface-hover)}.slash-item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--fill);color:var(--text-muted)}.slash-item-text{display:flex;flex-direction:column;min-width:0;line-height:1.3}.slash-item-title{font-size:.875rem;font-weight:500}.slash-item-desc{font-size:.75rem;color:var(--text-muted)}.bubble-menu{z-index:20;display:flex;align-items:center;gap:2px;padding:4px;border-radius:var(--radius-md)}.bubble-btn{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:.8125rem;font-weight:600;cursor:pointer}.bubble-btn:hover{background:var(--surface-hover)}.bubble-btn.is-active{background:var(--accent-soft);color:var(--accent)}.bubble-btn.is-text{padding:0 10px;font-weight:500}.bubble-btn .ui-icon{width:15px;height:15px}.bubble-sep{width:var(--hairline);height:18px;margin:0 4px;background:var(--border-strong)}.glyph-bold{font-weight:800}.glyph-italic{font-style:italic;font-family:serif}.glyph-underline{text-decoration:underline}.glyph-strike{text-decoration:line-through}.bubble-link{display:flex;align-items:center;gap:4px}.bubble-input{width:220px;height:30px;padding:0 10px;border:var(--hairline) solid var(--border-strong);border-radius:8px;background:var(--field);font-size:.8125rem;outline:none}.suggest-ins{text-decoration:underline;text-decoration-color:var(--warning);background:var(--warning-soft);border-radius:3px}.suggest-del{text-decoration:line-through;text-decoration-color:var(--danger);background:var(--danger-soft);border-radius:3px;opacity:.75}.suggestion-bubble{gap:8px;padding:6px 8px}.suggestion-bubble-author{font-size:.78rem;color:var(--text-muted);white-space:nowrap;padding:0 4px}.doc-suggestions-pill{display:inline-flex;align-items:center;height:28px;padding:0 10px;border:none;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:.78rem;font-weight:600;cursor:pointer}.doc-suggestions-pill:hover{filter:brightness(.97)}.dictation-btn.is-active{background:var(--danger-soft);color:var(--danger);animation:pulse 1.4s var(--ease) infinite}.ai-prompt-popover{width:360px;padding:10px;display:flex;flex-direction:column;gap:8px}.ai-prompt-row{display:flex;align-items:center;gap:8px}.ai-prompt-row .ui-icon{width:16px;height:16px;color:var(--accent);flex-shrink:0}.ai-prompt-row .input-field{flex:1;min-width:0}.ai-prompt-preview{max-height:220px;overflow-y:auto;padding:10px;border-radius:var(--radius-md);background:var(--fill);font-size:.84rem;line-height:1.5;white-space:pre-wrap}.ai-prompt-actions{display:flex;justify-content:flex-end;gap:6px}.ai-prompt-model{font-size:.75rem;color:var(--text-muted)}.model-picker-head{padding:4px 8px 8px;font-size:.75rem;color:var(--text-muted)}.model-picker .slash-item-icon{width:30px;height:30px}.bubble-input:focus{border-color:var(--accent);box-shadow:var(--ring)}.save-status{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-muted);white-space:nowrap}.save-status-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.save-status[data-tone=ok] .save-status-dot{background:var(--success)}.save-status[data-tone=warn]{color:var(--warning)}.save-status[data-tone=warn] .save-status-dot{background:var(--warning)}.save-status[data-tone=danger]{color:var(--danger)}.save-status[data-tone=danger] .save-status-dot{background:var(--danger)}@media(max-width:860px){.doc-paper{padding:64px 48px}}@media(max-width:640px){.doc-header-main{gap:8px;padding:8px 12px 0}.doc-toolbar{margin:6px 8px 8px}.doc-canvas{padding:12px 8px 48px}.doc-paper{min-height:70vh;padding:32px 20px 24px}.save-status-text,.doc-zoom-slider,.doc-count-rest{display:none}}@page doc{margin:0}@media print{.doc-shell{page:doc}.doc-header,.doc-banner,.doc-status-bar,.bubble-menu,.slash-menu,.toast-wrap,.top-progress,.tooltip{display:none!important}body:before,.doc-shell:before{display:none}.doc-canvas{padding:0;overflow:visible}.doc-zoom{width:auto;height:auto!important}.doc-paper{width:auto;min-height:0;padding:1in;border:none;border-radius:0;box-shadow:none;transform:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}.doc-paper h1,.doc-paper h2,.doc-paper h3,.doc-paper h4,.doc-paper h5,.doc-paper h6{break-after:avoid}}.name-cell{display:flex;align-items:center;gap:10px}.file-card{position:relative}.file-card.is-checked,.folder-mini.is-checked{border-color:var(--accent);background:var(--accent-soft)}.folder-mini.is-checked .folder-mini-name{color:var(--accent)}.marquee-box{position:fixed;z-index:50;pointer-events:none;border:1px solid var(--accent);border-radius:4px;background:color-mix(in srgb,var(--accent) 12%,transparent)}.bulk-bar{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:8px 10px 8px 18px;border-radius:var(--radius-lg);animation:bulkIn var(--dur) var(--ease)}.bulk-bar-count{font-size:.8125rem;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.bulk-bar-actions{display:flex;align-items:center;gap:6px;overflow-x:auto}.bulk-bar .btn{white-space:nowrap}.bulk-bar .bulk-danger{color:var(--danger)}@media(max-width:640px){.bulk-bar{bottom:12px;gap:8px;padding-left:12px}}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.dash-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:16px}.dash-range{font-variant-numeric:tabular-nums}.dash-label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-muted)}.dash-note{display:block;margin-top:2px;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.dash-value{display:block;font-size:1.5rem;font-weight:600;line-height:1.25;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.dash-hero{display:flex;flex-direction:column;gap:6px;padding:24px}.dash-hero-value{font-size:2.5rem;font-weight:700;line-height:1.1;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.dash-hero .sparkline{align-self:stretch;width:100%;height:72px;margin-top:12px;color:var(--accent)}.dash-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;padding-top:14px;border-top:var(--hairline) solid var(--border)}.dash-breakdown dt{font-size:.75rem;color:var(--text-muted)}.dash-breakdown dd{font-size:1rem;font-weight:600;font-variant-numeric:tabular-nums}.dash-metrics{display:flex;flex-direction:column;padding:0 20px}.dash-metric{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0}.dash-metric+.dash-metric{border-top:var(--hairline) solid var(--border)}.dash-metric .sparkline{flex-shrink:0;color:var(--text-muted)}.status-dot{display:inline-block;width:8px;height:8px;margin-right:6px;flex-shrink:0;border-radius:50%}.admin-card-title{font-size:.9375rem;font-weight:600;letter-spacing:var(--tracking-title)}.admin-card>.admin-card-title{margin-bottom:14px}.admin-status-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.admin-status-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:var(--radius-md);background:var(--surface-hover);font-size:.875rem}.admin-status-item-left{display:flex;align-items:center;gap:8px}.admin-status-name{font-weight:500}.admin-status-value{font-size:.8125rem;font-weight:500;color:var(--text-muted);text-align:right}.admin-status-value.ok{color:var(--success)}.admin-status-value.err{color:var(--danger)}.admin-status-value.warn{color:var(--warning)}.admin-env-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px}.admin-env-item,.admin-detail-grid>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-hover);font-size:.875rem}.admin-env-label{display:block;font-size:.75rem;font-weight:500;color:var(--text-muted)}.admin-env-val{font-size:.9375rem;font-weight:600}.admin-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.admin-quick-action-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.admin-quick-action{display:flex;align-items:center;gap:10px;padding:9px 12px;border:none;border-radius:var(--radius-md);background:var(--surface-hover);font-size:.875rem;text-align:left;cursor:pointer;transition:background .15s}.admin-quick-action:hover{background:var(--fill)}.admin-btn-xs{padding:3px 10px;border:var(--hairline) solid var(--border-strong);border-radius:999px;background:var(--field);color:var(--text);font-size:.75rem;font-weight:500;white-space:nowrap;cursor:pointer}.admin-btn-xs:hover{background:var(--field-hover)}.admin-btn-xs.danger{color:var(--danger);border-color:var(--danger)}.admin-btn-xs.danger:hover{background:var(--danger-soft)}.admin-btn-xs.warning{color:var(--warning);border-color:var(--warning)}.admin-btn-xs.warning:hover{background:var(--warning-soft)}.admin-user-mini-avatar{width:28px;height:28px;border-radius:50%;font-size:.75rem}@media(max-width:900px){.admin-dashboard-grid,.admin-detail-grid,.dash-grid{grid-template-columns:1fr}.dash-breakdown{grid-template-columns:repeat(2,1fr)}}@keyframes fade{0%{opacity:0}}@keyframes fadeOut{to{opacity:0}}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}}@keyframes itemIn{0%{opacity:0;transform:translateY(10px)}}@keyframes rowIn{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes modalOut{to{opacity:0;transform:translateY(4px) scale(.98)}}@keyframes bulkIn{0%{opacity:0;transform:translate(-50%,12px)}}@keyframes menuIn{0%{opacity:0;transform:scale(.96)}}@keyframes menuOut{to{opacity:0;transform:scale(.96)}}@keyframes toastIn{0%{opacity:0;transform:var(--toast-from, translateY(8px))}}@keyframes toastOut{to{opacity:0;transform:translate(16px)}}@keyframes toastCountdown{to{transform:scaleX(0)}}@keyframes bannerIn{0%{max-height:0;opacity:0}to{max-height:80px;opacity:1}}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes dots{0%{width:0}25%{width:.33em}50%{width:.66em}75%,to{width:1em}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes slide{0%{background-position:0 0}to{background-position:200% 0}}@keyframes storagePulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}@keyframes dz-march{to{stroke-dashoffset:-30}}@keyframes dz-glow{0%,to{filter:drop-shadow(0 0 2px color-mix(in srgb,var(--accent) 45%,transparent))}50%{filter:drop-shadow(0 0 9px color-mix(in srgb,var(--accent) 75%,transparent))}}@keyframes dz-bounce{0%,to{transform:translateY(0) scale(1.14)}50%{transform:translateY(-9px) scale(1.14)}}@keyframes dz-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}@keyframes dz-ring{0%{opacity:.55;transform:scale(.8)}to{opacity:0;transform:scale(1.7)}}.dashboard-container,.admin-page-content{animation:pageIn var(--dur-slow) var(--ease) backwards}.auth-top,.auth-headline,.auth-lead,.auth-app,.auth-card,.auth-footer{animation:itemIn var(--dur-slow) var(--ease) backwards;animation-delay:calc(var(--i, 0) * 60ms)}.auth-headline,.auth-card{--i: 1}.auth-lead{--i: 2}.auth-app:nth-child(1){--i: 3}.auth-app:nth-child(2){--i: 4}.auth-app:nth-child(3){--i: 5}.auth-app:nth-child(4){--i: 6}.auth-footer{--i: 2}.doc-template{animation:itemIn var(--dur-slow) var(--ease) backwards;animation-delay:calc(var(--i, 0) * 40ms)}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>*{animation:itemIn var(--dur-slow) var(--ease) backwards;animation-delay:calc(var(--i, 0) * 40ms)}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(2){--i: 1}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(3){--i: 2}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(4){--i: 3}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(5){--i: 4}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(6){--i: 5}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(7){--i: 6}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(8){--i: 7}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(9){--i: 8}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(10){--i: 9}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(11){--i: 10}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(12){--i: 11}:is(.files-grid,.folders-grid,.soon-grid,.admin-stat-grid,.admin-dashboard-grid)>:nth-child(n+13){animation:none}:is(.data-table,.admin-table) tbody tr{animation:rowIn var(--dur-slow) var(--ease) backwards;animation-delay:calc(var(--i, 0) * 25ms)}:is(.data-table,.admin-table) tbody tr:nth-child(2){--i: 1}:is(.data-table,.admin-table) tbody tr:nth-child(3){--i: 2}:is(.data-table,.admin-table) tbody tr:nth-child(4){--i: 3}:is(.data-table,.admin-table) tbody tr:nth-child(5){--i: 4}:is(.data-table,.admin-table) tbody tr:nth-child(6){--i: 5}:is(.data-table,.admin-table) tbody tr:nth-child(7){--i: 6}:is(.data-table,.admin-table) tbody tr:nth-child(8){--i: 7}:is(.data-table,.admin-table) tbody tr:nth-child(9){--i: 8}:is(.data-table,.admin-table) tbody tr:nth-child(10){--i: 9}:is(.data-table,.admin-table) tbody tr:nth-child(n+11){animation:none}.top-progress{position:fixed;top:0;left:0;right:0;z-index:10000;height:2px;pointer-events:none;transition:opacity var(--dur) ease}.top-progress-bar{height:100%;background:var(--accent);transition:width .3s var(--ease)}.top-progress[data-instant] .top-progress-bar{transition:none}.nav-link,.admin-nav-item{position:relative}.nav-link svg,.admin-nav-icon{transition:transform var(--dur) var(--ease)}.nav-link:hover svg,.admin-nav-item:hover .admin-nav-icon,.admin-nav-group-header:hover .admin-nav-icon{transform:translate(2px)}.sidebar-backdrop{animation:fade var(--dur) ease}:is(.btn,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.icon-btn,.action-btn,.chip,.view-btn):active:not(:disabled){transform:scale(.97)}.file-card:hover,.folder-card:hover{transform:translateY(-1px);border-color:var(--border-strong)}.alert-box.error{animation:shake .35s ease}.modal-backdrop.open,.admin-modal-overlay{animation:fade var(--dur-fast) ease}.modal-dialog,.admin-modal{animation:modalIn var(--dur) var(--ease)}.modal-backdrop.closing{animation:fadeOut .16s ease forwards;pointer-events:none}.modal-backdrop.closing .modal-dialog{animation:modalOut .16s var(--ease) forwards}.custom-context-menu{animation:menuIn var(--dur-menu) var(--ease);transform-origin:top left}.select-panel,.menu-panel{animation:menuIn var(--dur-menu) var(--ease);transform-origin:top}.select-panel[data-placement=top],.menu-panel[data-placement=top]{transform-origin:bottom}.select-panel.closing,.menu-panel.closing{animation:menuOut var(--dur-menu) var(--ease) forwards;pointer-events:none}.toast{animation:toastIn var(--dur-spring) var(--ease-spring) backwards}.toast.leaving{animation:toastOut var(--dur) ease forwards}.toast-timer{animation:toastCountdown linear forwards}.announcement{overflow:hidden;animation:bannerIn var(--dur-slow) var(--ease)}.tooltip{animation:fade var(--dur-fast) ease}.theme-fade,.theme-fade *,.theme-fade *:before,.theme-fade *:after{transition:background-color .25s ease,border-color .25s ease,color .25s ease,fill .25s ease,stroke .25s ease!important}.spinner-sm,.spinner-lg,.spin-icon{animation:spin .7s linear infinite}.processing-pulse{animation:pulse 1.5s ease-in-out infinite}.dot-animation{animation:dots 1.4s steps(4,end) infinite}.skeleton{display:block;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--fill) 30%,color-mix(in srgb,var(--fill) 40%,transparent) 50%,var(--fill) 70%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:transparent;color:var(--text-muted);font-size:.875rem}.splash-bar{position:relative;width:140px;height:4px;border-radius:999px;overflow:hidden;background:var(--fill)}.splash-bar:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:40%;border-radius:inherit;background:var(--accent);animation:indeterminate 1.1s var(--ease) infinite}.splash-label{animation:fade var(--dur-slow) ease .4s backwards}.progress-bar.is-active:after{content:"";background-image:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent-fg) 40%,transparent),transparent);background-size:200% 100%;animation:slide 1.2s linear infinite;position:absolute;top:0;right:0;bottom:0;left:0}.storage-line-flow{animation:storagePulse 3s ease-in-out infinite}.success-check{animation:pop .4s var(--ease) backwards}.success-check circle,.success-check path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .45s var(--ease) .1s forwards}.success-check path{animation-delay:.35s}.brand-mark{transition:transform var(--dur) var(--ease)}a:hover>.brand-mark,.brand-mark:hover{transform:rotate(-6deg)}.brand-mark--animated{animation:pop .5s var(--ease) backwards}.brand-mark--alive .brand-stone,.brand-mark--alive .brand-ripple{transform-box:fill-box;transform-origin:center}.brand-mark--alive .brand-stone{animation:brand-rock 6s ease-in-out .5s infinite}.brand-mark--alive .brand-ripple{opacity:0;animation:brand-ripple 3.6s var(--ease) .6s infinite}.brand-mark--alive .brand-ripple--late{animation-delay:2.4s}@keyframes brand-rock{0%,to{transform:rotate(-4deg) scale(1.03,.97)}33%{transform:rotate(3deg) scale(.97,1.03)}66%{transform:rotate(5deg) scale(1.04,.98)}}@keyframes brand-ripple{0%{transform:scale(1);opacity:.8}to{transform:scale(1.45);opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.spinner-sm,.spinner-lg,.spin-icon{animation-duration:1.2s!important;animation-iteration-count:infinite!important}.storage-line-flow{animation:none;opacity:.85}.color-swatch:hover{transform:none}}
