:root{color-scheme:light;--color-paper: oklch(99.2% .001 286);--color-surface: oklch(100% 0 0);--color-sidebar: oklch(96.4% .003 286 / .8);--color-sidebar-solid: oklch(96.4% .003 286);--color-material: oklch(99.2% .001 286 / .78);--color-fill: oklch(93.8% .003 286);--color-fill-hover: oklch(91% .004 286);--color-fill-strong: oklch(87.5% .005 286);--color-selection: oklch(90.2% .005 286);--color-rule: oklch(90% .004 286);--color-rule-strong: oklch(84% .005 286);--color-ink: oklch(21.8% .004 286);--color-ink-2: oklch(50.5% .008 286);--color-ink-3: oklch(56% .007 286);--color-on-ink: oklch(99.4% 0 0);--color-ink-hover: oklch(33% .004 286);--color-scroll-thumb: oklch(82% .004 286);--color-icon-top: oklch(34% .004 286);--color-icon-bottom: oklch(15% .004 286);--color-setup-glow: oklch(92% .035 258 / .7);--color-accent: oklch(55.5% .2 258);--color-accent-soft: oklch(55.5% .2 258 / .12);--color-focus: oklch(58% .2 258);--color-focus-halo: oklch(58% .2 258 / .22);--color-favorite: oklch(76% .165 72);--color-error: oklch(55% .2 27);--color-success: oklch(52% .14 150);--color-stage: oklch(11% 0 0);--color-scrim: oklch(96% .003 286 / .55);--color-hud: oklch(18% .004 286 / .66);--color-on-hud: oklch(98.5% 0 0);--color-error-on-hud: oklch(80% .12 27);--color-live: oklch(57% .22 27);--tile-tint-l: 95.5%;--tile-tint-c: .035;--tile-tint-l-2: 90%;--tile-tint-c-2: .055;--tile-ink-l: 40%;--tile-ink-c: .07;--color-sheen: oklch(100% 0 0 / .55);--color-logo-shadow: oklch(15% .01 286 / .2);--shadow-hairline: 0 0 0 .5px oklch(20% .01 286 / .08);--shadow-card: 0 0 0 .5px oklch(20% .01 286 / .06), 0 1px 2px oklch(20% .01 286 / .05), 0 6px 16px -4px oklch(20% .01 286 / .08);--shadow-lift: 0 0 0 .5px oklch(20% .01 286 / .05), 0 26px 44px -14px oklch(20% .01 286 / .32), 0 10px 20px -8px oklch(20% .01 286 / .14);--shadow-thumb: 0 0 0 .5px oklch(20% .01 286 / .06), 0 1px 3px oklch(20% .01 286 / .14);--shadow-sheet: 0 0 0 .5px oklch(20% .01 286 / .08), 0 50px 110px -30px oklch(20% .01 286 / .4), 0 18px 40px -20px oklch(20% .01 286 / .2);--material-blur: saturate(180%) blur(30px);--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif;--font-outlier: ui-monospace, "SF Mono", "Menlo", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: clamp(1.75rem, 1.5vw + 1.2rem, 2.25rem);--text-display: clamp(2rem, 3vw + 1rem, 2.75rem);--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 2.5rem;--space-3xl: 4rem;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.55, 0, .75, .2);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .16s;--dur-med: .28s;--dur-slow: .44s}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.4;color:var(--color-ink);background-color:var(--color-paper);min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root{min-height:100dvh}button,input,select{font:inherit;color:inherit}button{-webkit-tap-highlight-color:transparent}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--color-scroll-thumb) transparent}}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-scroll-thumb);border-radius:var(--radius-pill);border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--color-ink-3);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}:where(button,select,a,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);height:2.25rem;padding:0 var(--space-lg);border:none;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--color-ink);color:var(--color-on-ink)}.btn-primary:hover:not(:disabled){background:var(--color-ink-hover)}.btn-secondary{background:var(--color-fill);color:var(--color-ink)}.btn-secondary:hover:not(:disabled){background:var(--color-fill-hover)}.btn-danger{width:100%;background:var(--color-surface);color:var(--color-error);box-shadow:var(--shadow-hairline)}.btn-danger:hover:not(:disabled){background:var(--color-fill)}.btn-large{width:100%;height:3rem;font-size:var(--text-lg)}.btn-detail{font-weight:500;color:var(--color-ink-2);font-variant-numeric:tabular-nums}.icon-btn{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;flex-shrink:0;border:none;border-radius:50%;background:var(--color-fill);color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.icon-btn:hover{background:var(--color-fill-hover)}.icon-btn:active{transform:scale(.92)}.icon-btn svg{display:block}.icon-btn.is-active{color:var(--color-accent)}.icon-btn-star.is-active{color:var(--color-favorite)}.icon-btn-close{width:2rem;height:2rem;color:var(--color-ink-2)}.icon-btn-close:hover{color:var(--color-ink)}.icon-group{display:inline-flex;background:var(--color-fill);border-radius:var(--radius-pill)}.icon-group .icon-btn{background:transparent}.icon-group .icon-btn:hover{background:var(--color-fill-hover)}.search-field{display:flex;align-items:center;gap:var(--space-xs);height:2.125rem;padding:0 var(--space-xs) 0 var(--space-sm);background:var(--color-fill);border-radius:var(--radius-sm);color:var(--color-ink-2);cursor:text;transition:background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.search-field:hover{background:var(--color-fill-hover)}.search-field:focus-within{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-focus),0 0 0 4px var(--color-focus-halo)}.search-field svg{flex-shrink:0}.search-field input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;font-size:var(--text-base);color:var(--color-ink);-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-field input::placeholder{color:var(--color-ink-2)}.search-field input::-webkit-search-cancel-button,.search-field input::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-field-small{height:1.75rem;border-radius:var(--radius-xs)}.search-field-small input{font-size:var(--text-sm)}.search-clear{display:grid;place-items:center;width:1rem;height:1rem;flex-shrink:0;border:none;border-radius:50%;background:var(--color-ink-3);color:var(--color-surface);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.search-clear:hover{background:var(--color-ink-2)}.popup{position:relative;display:inline-flex;align-items:center;gap:var(--space-xs);height:2.125rem;padding:0 var(--space-sm);background:var(--color-fill);border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:500;color:var(--color-ink);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.popup:hover{background:var(--color-fill-hover)}.popup svg{color:var(--color-ink-2);flex-shrink:0}.popup select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer;font-size:1rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.popup select:focus-visible{outline:none}.popup:has(select:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.popup-plain{height:1.5rem;padding:0 var(--space-xs);background:transparent;font-size:var(--text-xs);color:var(--color-ink-2);border-radius:var(--radius-xs)}.popup-plain:hover{background:var(--color-fill);color:var(--color-ink)}.field-input{width:100%;height:2.75rem;padding:0 var(--space-sm);border:none;border-radius:var(--radius-md);background:transparent;font-size:var(--text-md);color:var(--color-ink);transition:background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.field-input::placeholder{color:var(--color-ink-2)}.field-input:focus-visible{outline:none;box-shadow:0 0 0 1px var(--color-focus),0 0 0 4px var(--color-focus-halo)}.field-input:disabled{opacity:.5}.field-input-large{height:3.125rem;padding:0 var(--space-md);background:var(--color-fill);font-size:var(--text-lg);text-align:center}.field-input-large:hover:not(:disabled){background:var(--color-fill-hover)}.field-input-large:focus-visible{background:var(--color-surface)}.form-error{color:var(--color-error);font-size:var(--text-base);line-height:1.45}.form-success{color:var(--color-success);font-size:var(--text-base);line-height:1.45}.spinner{display:inline-block;width:1.375rem;height:1.375rem;flex-shrink:0;border-radius:50%;color:var(--color-ink-2);background:conic-gradient(from 0deg,transparent 0 12%,currentColor);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),currentColor calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),currentColor calc(100% - 2px));animation:spin .8s linear infinite}.spinner-small{width:.875rem;height:.875rem}.spinner-light{color:var(--color-on-hud)}.boot{min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:var(--space-sm);animation:fade-in var(--dur-med) var(--ease-out)}.boot-text{color:var(--color-ink-2);font-size:var(--text-md)}.setup{min-height:100dvh;display:grid;place-items:center;padding:var(--space-lg) var(--space-md);background:radial-gradient(70% 45% at 50% 0%,var(--color-setup-glow),transparent 70%),var(--color-paper)}.setup-card{width:min(26rem,100%);display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center;animation:rise-in var(--dur-slow) var(--ease-out)}.app-icon{display:grid;place-items:center;width:4.75rem;height:4.75rem;margin-bottom:var(--space-xs);border-radius:22.5%;background:linear-gradient(180deg,var(--color-icon-top),var(--color-icon-bottom));color:var(--color-on-ink);box-shadow:var(--shadow-lift)}.setup-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-display);letter-spacing:-.035em;line-height:1.08;overflow-wrap:anywhere;min-width:0}.setup-sub{color:var(--color-ink-2);font-size:var(--text-md);line-height:1.5;max-width:34ch}.setup-field{width:100%;margin-top:var(--space-xs)}.setup-hint{color:var(--color-ink-2);font-size:var(--text-sm)}.login-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.login-fields{width:100%;margin-top:var(--space-xs);display:flex;flex-direction:column;text-align:left}.login-fields .field-input{height:3.125rem;padding:0 var(--space-md);font-size:var(--text-lg)}.login-fields .field-input:not(:first-of-type){border-top:1px solid var(--color-rule)}.login-fields .field-input:focus-visible{box-shadow:inset 0 0 0 2px var(--color-focus)}.login-fields .field-input:first-of-type{border-radius:var(--radius-md) var(--radius-md) 0 0}.login-fields .field-input:last-of-type{border-radius:0 0 var(--radius-md) var(--radius-md)}.login-recovery{width:100%;margin-top:var(--space-xs)}.otp{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,3rem));justify-content:center;gap:var(--space-xs);width:100%;margin-top:var(--space-xs)}.otp-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;font-size:1rem;caret-color:transparent;cursor:text}.otp-box{display:grid;place-items:center;height:3.5rem;border-radius:var(--radius-md);background:var(--color-fill);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;font-variant-numeric:tabular-nums;transition:background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.otp-box.is-filled{background:var(--color-surface);box-shadow:var(--shadow-card)}.otp:focus-within .otp-box.is-current{background:var(--color-surface);box-shadow:0 0 0 1px var(--color-focus),0 0 0 4px var(--color-focus-halo)}.otp:focus-within .otp-box.is-current:not(.is-filled):after{content:"";width:2px;height:1.5rem;border-radius:1px;background:var(--color-focus);animation:caret-blink 1s steps(1) infinite}.otp-input:disabled~.otp-box{opacity:.55}.login-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs) var(--space-lg)}.link-btn{border:none;background:none;padding:var(--space-2xs) var(--space-3xs);border-radius:var(--radius-xs);font-size:var(--text-md);font-weight:500;color:var(--color-accent);cursor:pointer;transition:opacity var(--dur-fast) var(--ease-out)}.link-btn:hover{opacity:.75}.link-btn-quiet{color:var(--color-ink-2)}.env-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs)}.env-list li{padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-xs);background:var(--color-fill);font-family:var(--font-outlier);font-size:var(--text-sm);color:var(--color-ink)}.app{display:flex;height:100dvh;background:var(--color-paper)}.sidebar{width:var(--sidebar-width, 17rem);flex-shrink:0;display:flex;flex-direction:column;min-height:0;background:var(--color-sidebar-solid);border-right:1px solid var(--color-rule)}.sidebar-resizer{position:relative;width:9px;margin:0 -5px 0 -4px;flex-shrink:0;z-index:4;cursor:col-resize;touch-action:none}.sidebar-resizer:after{content:"";position:absolute;top:0;right:3px;bottom:0;left:3px;border-radius:var(--radius-pill);background:var(--color-focus);opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.sidebar-resizer:hover:after,.sidebar-resizer:active:after{opacity:.6}.sidebar-resizer:focus-visible{outline:none}.sidebar-resizer:focus-visible:after{opacity:1}.sidebar-top{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg) var(--space-sm) var(--space-sm)}.brand{display:flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-2xs)}.brand-mark{display:grid;place-items:center;width:1.625rem;height:1.625rem;border-radius:7px;background:linear-gradient(180deg,var(--color-icon-top),var(--color-icon-bottom));color:var(--color-on-ink);box-shadow:var(--shadow-thumb)}.brand-settings{display:none;margin-left:auto;width:2rem;height:2rem}.brand-name{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:-.01em}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;padding-top:var(--space-2xs)}.nav-section{display:flex;flex-direction:column;gap:1px;padding:0 var(--space-sm) var(--space-sm)}.nav-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;height:2.125rem;padding:0 var(--space-sm);border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-base);font-weight:500;color:var(--color-ink);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}.nav-item:hover{background:var(--color-fill)}.nav-item:focus-visible{outline-offset:-2px}.nav-item.is-active{background:var(--color-selection);font-weight:600}.nav-icon{display:grid;place-items:center;color:var(--color-accent);flex-shrink:0}.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{margin-left:auto;font-size:var(--text-sm);font-weight:400;color:var(--color-ink-2);font-variant-numeric:tabular-nums}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-sm) var(--space-2xs) var(--space-xs) var(--space-sm)}.section-label{font-size:var(--text-xs);font-weight:600;color:var(--color-ink-2)}.category-tools{display:flex;flex-direction:column;gap:var(--space-xs);padding:0 var(--space-2xs) var(--space-xs)}.segmented{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:2px;background:var(--color-fill);border-radius:var(--radius-sm)}.segmented:before{content:"";position:absolute;top:2px;bottom:2px;left:2px;width:calc(50% - 3px);border-radius:var(--radius-xs);background:var(--color-surface);box-shadow:var(--shadow-thumb);transition:transform var(--dur-med) var(--ease-out)}.segmented:has(.segment:nth-child(2).is-active):before{transform:translate(calc(100% + 2px))}@supports not selector(:has(*)){.segmented:before{display:none}.segment.is-active{background:var(--color-surface);box-shadow:var(--shadow-thumb)}}.segment{position:relative;height:1.5rem;border:none;border-radius:var(--radius-xs);background:transparent;font-size:var(--text-sm);font-weight:500;color:var(--color-ink-2);cursor:pointer;transition:color var(--dur-fast) var(--ease-out)}.segment:hover{color:var(--color-ink)}.segment:focus-visible{outline-offset:-2px}.segment.is-active{color:var(--color-ink);font-weight:600}.cat-list{display:flex;flex-direction:column;gap:1px}.cat-row{display:flex;align-items:center;border-radius:var(--radius-sm);transition:background-color var(--dur-fast) var(--ease-out)}.cat-row:hover{background:var(--color-fill)}.cat-row.is-active{background:var(--color-selection)}.cat-item{display:flex;align-items:center;gap:var(--space-xs);flex:1;min-width:0;height:2rem;padding:0 var(--space-2xs) 0 var(--space-sm);border:none;border-radius:var(--radius-sm);background:transparent;font-size:var(--text-base);color:var(--color-ink);text-align:left;cursor:pointer}.cat-item:focus-visible{outline-offset:-2px}.cat-row.is-active .cat-item{font-weight:600}.cat-tag{flex-shrink:0;padding:1px 5px;border-radius:4px;background:var(--color-fill-hover);font-size:.625rem;font-weight:600;letter-spacing:.04em;color:var(--color-ink-2);font-variant-numeric:tabular-nums}.cat-row.is-active .cat-tag{background:var(--color-surface)}.cat-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-count{margin-left:auto;flex-shrink:0;font-size:var(--text-xs);color:var(--color-ink-2);font-variant-numeric:tabular-nums}.cat-star{display:grid;place-items:center;width:1.75rem;height:1.75rem;margin-right:2px;flex-shrink:0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--color-ink-3);cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.cat-row:hover .cat-star,.cat-star:focus-visible,.cat-star.is-active{opacity:1}.cat-star:hover{color:var(--color-ink)}.cat-star:active{transform:scale(.85)}.cat-star:focus-visible{outline-offset:-2px}.cat-star.is-active{color:var(--color-favorite)}@media(hover:none){.cat-star{opacity:.6}}.sidebar-note{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);line-height:1.45;color:var(--color-ink-2)}.sidebar-foot{padding:var(--space-xs) var(--space-sm) var(--space-sm);border-top:1px solid var(--color-rule)}.sidebar-foot .nav-icon{color:var(--color-ink-2)}.content{--gutter: var(--space-2xl);flex:1;min-width:0;overflow-y:auto;padding:0 var(--gutter) var(--space-3xl)}.library-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;margin:0 calc(-1 * var(--gutter)) var(--space-md);padding:var(--space-2xl) var(--gutter) var(--space-md);background:var(--color-material);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur)}.library-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--color-rule);opacity:0}@supports (animation-timeline: scroll()){.library-head:after{animation:reveal linear both;animation-timeline:scroll(nearest);animation-range:0 3rem}}.library-titles{min-width:0}.library-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-3xl);letter-spacing:-.028em;line-height:1.1;overflow-wrap:anywhere}.library-count{margin-top:var(--space-2xs);font-size:var(--text-md);color:var(--color-ink-2);font-variant-numeric:tabular-nums}.library-controls{display:flex;align-items:center;gap:var(--space-xs)}.library-filter{width:13rem}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(12.5rem,100%),1fr));gap:var(--space-xl) var(--space-lg);padding-top:var(--space-xs);animation:fade-in var(--dur-med) var(--ease-out)}.tile{position:relative;display:flex;flex-direction:column;gap:var(--space-sm);min-width:0;padding:0;border:none;background:none;text-align:left;color:var(--color-ink);cursor:pointer}.tile:focus-visible{outline:none;z-index:1}.tile-art{--lift: 1;position:relative;display:block;aspect-ratio:16 / 9;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden;isolation:isolate;transform:perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) scale(var(--lift));transition:transform var(--dur-med) var(--ease-out),box-shadow var(--dur-slow) var(--ease-out);will-change:transform}.tile-glare{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;background:radial-gradient(circle at var(--glare-x, 50%) var(--glare-y, 0%),var(--color-sheen),transparent 62%);opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease-out)}.tile-meta{display:flex;flex-direction:column;gap:1px;min-width:0;padding:0 var(--space-3xs);transition:transform var(--dur-med) var(--ease-out)}.tile-name{font-size:var(--text-base);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-group{font-size:var(--text-sm);color:var(--color-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(hover:hover){.tile:hover{z-index:1}.tile:hover .tile-art{--lift: 1.065;box-shadow:var(--shadow-lift)}.tile:hover .tile-glare{opacity:1}.tile:hover .tile-meta{transform:translateY(6px)}}.tile:focus-visible .tile-art{--lift: 1.065;box-shadow:var(--shadow-lift);outline:3px solid var(--color-focus);outline-offset:3px}.tile:focus-visible .tile-meta{transform:translateY(6px)}.tile:active .tile-art{--lift: 1.02;transition-duration:var(--dur-fast)}.logo{display:grid;place-items:center;overflow:hidden}.tile-art .logo{position:absolute;top:0;right:0;bottom:0;left:0;padding:15% 22%}.logo.has-image{background:linear-gradient(180deg,var(--color-surface),var(--color-sidebar-solid))}.logo.is-fallback{background:linear-gradient(145deg,oklch(var(--tile-tint-l) var(--tile-tint-c) var(--tile-hue)),oklch(var(--tile-tint-l-2) var(--tile-tint-c-2) calc(var(--tile-hue) + 40)))}.logo img{display:block;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 1px 1.5px var(--color-logo-shadow))}.tile-art .logo.has-image{padding:0}.tile-art .logo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none;transform:scale(1.14)}.logo-initials{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,1.4vw + .9rem,2.25rem);letter-spacing:-.02em;color:oklch(var(--tile-ink-l) var(--tile-ink-c) var(--tile-hue))}.show-more{display:flex;justify-content:center;margin-top:var(--space-2xl)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);padding:var(--space-3xl) var(--space-md);text-align:center;animation:fade-in var(--dur-med) var(--ease-out)}.empty-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em}.empty-note{font-size:var(--text-md);color:var(--color-ink-2);max-width:36ch}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:var(--space-xl);background:var(--color-scrim);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);animation:fade-in var(--dur-med) var(--ease-out)}.modal-backdrop.is-pip{visibility:hidden;pointer-events:none}.sheet{width:min(30rem,100%);max-height:90dvh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg);background:var(--color-sidebar-solid);border-radius:var(--radius-xl);box-shadow:var(--shadow-sheet);animation:rise-in var(--dur-slow) var(--ease-out)}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:-.02em}.sheet-section{display:flex;flex-direction:column;gap:var(--space-xs)}.group-label{padding:0 var(--space-sm);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-2)}.group-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-hairline)}.group-card-field{display:flex}.group-row{display:flex;justify-content:space-between;gap:var(--space-md);padding:.6875rem var(--space-sm);font-size:var(--text-md)}.group-row+.group-row{border-top:1px solid var(--color-rule)}.group-row dd{color:var(--color-ink-2);text-align:right;font-variant-numeric:tabular-nums}.group-footnote{padding:0 var(--space-sm);font-size:var(--text-sm);line-height:1.45;color:var(--color-ink-2)}.sheet-section-end{padding-top:var(--space-xs)}.sheet-actions{display:flex;justify-content:flex-end;margin-top:var(--space-2xs)}.player{width:min(72rem,100%);display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sheet);overflow:hidden;animation:rise-in var(--dur-slow) var(--ease-out)}.player-head{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-md) var(--space-md) var(--space-lg);flex-wrap:wrap}.logo.player-logo{width:4rem;height:2.25rem;padding:var(--space-2xs) var(--space-xs);flex-shrink:0;border-radius:var(--radius-sm);box-shadow:var(--shadow-card)}.player-logo .logo-initials{font-size:var(--text-base)}.player-head-info{flex:1;min-width:0}.player-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:-.02em;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-sub{display:flex;align-items:center;gap:var(--space-xs);min-width:0;margin-top:var(--space-3xs);font-size:var(--text-sm);color:var(--color-ink-2)}.player-live{flex-shrink:0;padding:1px 5px;border-radius:4px;background:var(--color-live);color:var(--color-on-ink);font-size:.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.player-group{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-position{flex-shrink:0;font-variant-numeric:tabular-nums}.player-position:before{content:"·";margin-right:var(--space-xs)}.player-actions{display:flex;align-items:center;gap:var(--space-xs)}.player-stage{position:relative;aspect-ratio:16 / 9;max-height:calc(100dvh - 11rem);margin:0 var(--space-md) var(--space-md);border-radius:var(--radius-lg);background:var(--color-stage);overflow:hidden}.player-stage video{display:block;width:100%;height:100%}.player-status{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:var(--space-xs);max-width:calc(100% - 2rem);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-hud);-webkit-backdrop-filter:var(--material-blur);backdrop-filter:var(--material-blur);color:var(--color-on-hud);font-size:var(--text-base);font-weight:500;text-align:center;pointer-events:none;animation:fade-in var(--dur-med) var(--ease-out)}.player-status.is-error{color:var(--color-error-on-hud)}.player-cast-note{padding:0 var(--space-lg) var(--space-md);font-size:var(--text-sm);line-height:1.45;color:var(--color-ink-2)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes reveal{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes caret-blink{50%{opacity:0}}@keyframes spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}.spinner{animation-duration:1.6s!important}.library-head:after{animation:none;opacity:1}.tile-art{transform:none!important}}@media(max-width:768px){.app{flex-direction:column}.app{height:auto;min-height:100dvh}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-rule)}.sidebar-scroll{overflow:visible}.cat-list{max-height:13rem;overflow-y:auto}.brand-settings{display:inline-grid}.sidebar-foot{display:none}.sidebar-top{padding-top:var(--space-md)}.sidebar-resizer{display:none}.content{--gutter: var(--space-md);overflow:visible}.library-head{padding-top:var(--space-lg)}.library-controls{width:100%}.library-controls{flex-wrap:wrap}.library-filter{flex:1 1 7rem;width:auto;min-width:0}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(min(8.5rem,100%),1fr));gap:var(--space-lg) var(--space-md)}.modal-backdrop{padding:var(--space-sm)}.player-head{padding:var(--space-sm);gap:var(--space-sm)}.player-actions{width:100%;justify-content:space-between}.player-stage{margin:0 var(--space-xs) var(--space-xs);border-radius:var(--radius-md)}.sheet{padding:var(--space-md)}}
