@charset "UTF-8";:root,:root[data-theme=light]{--bg-primary: #FAFAFA;--bg-secondary: #F2F2F7;--bg-tertiary: #E5E5EA;--bg-card: rgba(255, 255, 255, .8);--bg-card-hover: rgba(255, 255, 255, .95);--bg-sidebar: rgba(242, 242, 247, .8);--bg-topbar: rgba(250, 250, 250, .8);--bg-canvas: var(--bg-primary);--bg-surface: var(--bg-secondary);--bg-elevated: var(--bg-card);--bg-base: var(--bg-primary);--text-primary: #1D1D1F;--text-secondary: #6E6E73;--text-tertiary: #AEAEB2;--text-muted: var(--text-tertiary);--text-on-accent: #FFFFFF;--border-card: rgba(0, 0, 0, .08);--border-subtle: rgba(0, 0, 0, .04);--border-input: rgba(0, 0, 0, .12);--border-focus: var(--accent-blue);--border-default: var(--border-card);--border-color: var(--border-card);--accent-blue: #007AFF;--accent-blue-light: rgba(0, 122, 255, .12);--selection-bg: rgba(0, 122, 255, .22);--accent-green: #34C759;--accent-green-light: rgba(52, 199, 89, .12);--accent-orange: #FF9500;--accent-orange-light: rgba(255, 149, 0, .12);--accent-red: #FF3B30;--accent-red-light: rgba(255, 59, 48, .12);--accent-purple: #AF52DE;--accent-purple-light: rgba(175, 82, 222, .12);--accent-teal: #5AC8FA;--accent-yellow: #FFD60A;--accent-primary: var(--accent-blue);--accent-primary-hover: #0066DD;--status-success: var(--accent-green);--status-warning: var(--accent-orange);--status-error: var(--accent-red);--shadow-card: 0 2px 8px rgba(0, 0, 0, .04), 0 8px 24px rgba(0, 0, 0, .08);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .08), 0 12px 32px rgba(0, 0, 0, .12);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .12), 0 24px 64px rgba(0, 0, 0, .16);--shadow-button: 0 2px 8px rgba(0, 122, 255, .24);--shadow-drawer: -8px 0 40px rgba(0, 0, 0, .2);--elevation-0: none;--elevation-1: var(--shadow-card);--elevation-2: var(--shadow-modal);--blur-card: blur(20px) saturate(110%);--blur-sidebar: blur(24px) saturate(110%);--blur-modal: blur(32px) saturate(110%);--blur-topbar: blur(24px) saturate(110%);--overlay-opacity: .4;--overlay-blur: 4px;--radius-card: 16px;--radius-button: 12px;--radius-input: 10px;--radius-badge: 8px;--radius-modal: 20px;--radius-sm: 6px;--radius-base: 10px;--radius-full: 9999px;--radius-6: var(--radius-sm);--radius-8: var(--radius-badge);--radius-12: var(--radius-button);--radius-16: var(--radius-card);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .32s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 240px;--sidebar-collapsed-width: 0px;--sidebar-rail-width: 48px;--topbar-height: 60px;--bottom-nav-height: 56px;--content-max-width: 900px;--content-wide-max-width: 1200px;--artifacts-width: 340px;--chat-max-width: 800px;--agent-bubble-bg: var(--bg-secondary);--user-bubble-bg: var(--accent-blue);--color-text: var(--text-primary);--color-muted: var(--text-secondary);--color-border: var(--border-card);--color-surface: var(--bg-card);--color-primary: var(--accent-blue);--surface-card: var(--bg-card);--surface-hover: var(--bg-secondary);--primary: var(--accent-blue);--primary-dark: var(--accent-primary-hover);--primary-light: var(--accent-blue-light);--success-light: var(--accent-green-light);--status-active-bg: rgba(52, 199, 89, .12);--status-active-text: #166534;--status-update-bg: rgba(255, 149, 0, .12);--status-update-text: #9a3412;--status-installing-bg: rgba(0, 122, 255, .12);--status-installing-text: #1e40af;--status-failed-bg: rgba(255, 59, 48, .12);--status-failed-text: #991b1b;--badge-official-bg: rgba(0, 122, 255, .1);--badge-official-text: #1d4ed8;--badge-free-bg: rgba(52, 199, 89, .1);--badge-free-text: #166534;--badge-pack-border: var(--accent-purple);--badge-pack-bg: rgba(175, 82, 222, .12);--badge-webhook-bg: rgba(0, 122, 255, .08);--badge-webhook-text: var(--accent-blue);--badge-schedule-bg: rgba(175, 82, 222, .08);--badge-schedule-text: var(--accent-purple);--badge-java-bg: rgba(52, 199, 89, .08);--badge-java-text: var(--accent-green);--badge-ready-text: #166534;--alert-warning-bg: rgba(255, 149, 0, .08);--alert-warning-border: rgba(255, 149, 0, .3);--alert-warning-text: #9a3412;--star-empty: var(--bg-tertiary);--star-filled: var(--accent-orange);--catalog-grad-blue: rgba(0, 122, 255, .08);--catalog-grad-orange: rgba(255, 149, 0, .05);--catalog-grad-neutral: rgba(0, 0, 0, .05);--catalog-link-border: rgba(0, 122, 255, .24);--catalog-link-bg: rgba(0, 122, 255, .06);--card-active-glow: rgba(0, 122, 255, .07)}:root[data-theme=dark]{--bg-primary: #1B1B1A;--bg-secondary: #242423;--bg-tertiary: #2E2E2C;--bg-card: rgba(40, 40, 39, .74);--bg-card-hover: rgba(54, 54, 52, .88);--bg-sidebar: rgba(28, 28, 27, .82);--bg-topbar: rgba(20, 20, 19, .82);--bg-canvas: var(--bg-primary);--bg-surface: var(--bg-secondary);--bg-elevated: var(--bg-tertiary);--bg-base: var(--bg-primary);--text-primary: #ECEBE8;--text-secondary: #9C9B98;--text-tertiary: #5F5E5C;--text-muted: #5F5E5C;--border-card: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .04);--border-input: rgba(255, 255, 255, .14);--border-default: var(--border-card);--accent-blue: #409CFF;--accent-blue-light: rgba(64, 156, 255, .15);--selection-bg: rgba(64, 156, 255, .42);--accent-green: #30D158;--accent-orange: #FF9F0A;--accent-red: #FF453A;--accent-primary: var(--accent-blue);--accent-primary-hover: #007AFF;--status-success: var(--accent-green);--status-warning: var(--accent-orange);--status-error: var(--accent-red);--shadow-button: 0 2px 8px rgba(64, 156, 255, .32);--shadow-card: 0 2px 8px rgba(0, 0, 0, .24), 0 8px 24px rgba(0, 0, 0, .32);--shadow-card-hover: 0 4px 16px rgba(0, 0, 0, .32), 0 12px 32px rgba(0, 0, 0, .4);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .4), 0 24px 64px rgba(0, 0, 0, .48);--primary-light: rgba(64, 156, 255, .12);--status-active-text: var(--accent-green);--status-update-text: var(--accent-orange);--status-installing-text: var(--accent-blue);--status-failed-text: var(--accent-red);--badge-official-text: var(--accent-blue);--badge-free-text: var(--accent-green);--badge-ready-text: var(--accent-green);--alert-warning-text: var(--accent-orange);--catalog-grad-neutral: rgba(255, 255, 255, .05)}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono", monospace;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-md: 17px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-2xl: 28px;--font-size-3xl: 34px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-base: 1.5;--line-height-relaxed: 1.65;--letter-spacing-tight: -.03em;--letter-spacing-normal: -.01em;--letter-spacing-wide: .02em;--letter-spacing-wider: .08em}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--text-primary);line-height:var(--line-height-tight)}.section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);color:var(--text-primary)}.label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--text-secondary)}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes bounce-in{0%{transform:scale(.8);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}.animate-fade-in{animation:fade-in .3s cubic-bezier(.4,0,.2,1) both}.animate-fade-in-up{animation:fade-in-up .4s cubic-bezier(.16,1,.3,1) both}.animate-fade-in-scale{animation:fade-in-scale .2s cubic-bezier(.4,0,.2,1) both}.animate-spin{animation:spin .8s linear infinite}.animate-slide-right{animation:slide-in-right .3s cubic-bezier(.4,0,.2,1) both}.animate-slide-left{animation:slide-in-left .3s cubic-bezier(.4,0,.2,1) both}.animate-delay-1{animation-delay:60ms}.animate-delay-2{animation-delay:.12s}.animate-delay-3{animation-delay:.18s}.animate-delay-4{animation-delay:.24s}.animate-delay-5{animation-delay:.3s}.card{background:var(--bg-card);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base),background var(--transition-base),transform var(--transition-base);padding:var(--space-6)}.card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.card-flat{background:var(--bg-card);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base),background var(--transition-base),transform var(--transition-base);padding:var(--space-6)}.card-sm{background:var(--bg-card);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base),background var(--transition-base),transform var(--transition-base);padding:var(--space-4)}.card-sm:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.card-lg{background:var(--bg-card);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card);border:1px solid var(--border-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-base),background var(--transition-base),transform var(--transition-base);padding:var(--space-8)}@media (max-width: 480px){.card-lg{padding:var(--space-6)}}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-header h2,.card-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);color:var(--text-primary);margin:0}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.flex-wrap{flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}@media (max-width: 1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-3,.grid-2{grid-template-columns:1fr}}.w-full{width:100%}.h-full{height:100%}.min-h-0{min-height:0}.text-center{text-align:center}.text-right{text-align:right}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.relative{position:relative}.absolute{position:absolute}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.hidden{display:none}.block{display:block}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-wrap{white-space:nowrap}.cursor-pointer{cursor:pointer}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.text-success{color:var(--accent-green)}.text-warning{color:var(--accent-orange)}.text-error{color:var(--accent-red)}.btn,.btn-outline,.btn-icon,.btn-ghost,.btn-danger,.btn-secondary,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-button);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family);border:none;cursor:pointer;transition:all var(--transition-fast);min-height:44px;-webkit-user-select:none;user-select:none;text-decoration:none;white-space:nowrap}.btn:disabled,.btn-outline:disabled,.btn-icon:disabled,.btn-ghost:disabled,.btn-danger:disabled,.btn-secondary:disabled,.btn-primary:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn:active,.btn-outline:active,.btn-icon:active,.btn-ghost:active,.btn-danger:active,.btn-secondary:active,.btn-primary:active{transform:scale(.97)}.btn-primary{background:var(--accent-blue);color:var(--text-on-accent);box-shadow:var(--shadow-button)}.btn-primary:hover{background:var(--accent-primary-hover);box-shadow:0 4px 16px #007aff52;filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:active{transform:scale(.98);filter:brightness(.95)}.btn-primary:disabled{opacity:.5;transform:none;filter:none}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-input)}.btn-secondary:hover{background:var(--bg-card-hover)}.btn-secondary:active{transform:scale(.98)}.btn-secondary:disabled{opacity:.5}.btn-danger{background:var(--accent-red);color:var(--text-on-accent)}.btn-danger:hover{background:#d93025}.btn-ghost{background:transparent;color:var(--accent-blue);padding:var(--space-2) var(--space-3)}.btn-ghost:hover{background:var(--accent-blue-light);color:var(--text-primary)}.btn-ghost:active{transform:scale(.98)}.btn-icon{background:transparent;color:var(--text-secondary);padding:var(--space-2);border-radius:var(--radius-badge)}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-outline{background:transparent;border:1.5px solid var(--border-input);color:var(--text-primary)}.btn-outline:hover{background:var(--bg-tertiary)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);min-height:36px}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-md);min-height:52px;border-radius:14px}.divider{height:1px;background:var(--border-card);margin:var(--space-4) 0}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px var(--space-2);border-radius:var(--radius-badge);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.02em}.badge-blue{background:var(--accent-blue-light);color:var(--accent-blue)}.badge-green{background:var(--accent-green-light);color:var(--accent-green)}.badge-orange{background:var(--accent-orange-light);color:var(--accent-orange)}.badge-red{background:var(--accent-red-light);color:var(--accent-red)}.badge-purple{background:var(--accent-purple-light);color:var(--accent-purple)}.badge-gray{background:var(--bg-tertiary);color:var(--text-secondary)}.page-container{padding:var(--space-8);max-width:var(--content-max-width);margin:0 auto;width:100%;animation:fade-in .3s cubic-bezier(.4,0,.2,1) both}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.page-header .page-title-group h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--text-primary);margin:0 0 var(--space-1) 0}.page-header .page-title-group p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,var(--overlay-opacity, .4));backdrop-filter:blur(var(--overlay-blur, 4px));z-index:1000;display:flex;align-items:center;justify-content:center}.modal-overlay.drawer{align-items:stretch;justify-content:flex-end}code,pre,.mono{font-family:var(--font-family-mono);font-size:var(--font-size-xs)}.glass-panel{background:var(--bg-card);backdrop-filter:var(--blur-card);-webkit-backdrop-filter:var(--blur-card);border:1px solid var(--border-card);border-radius:var(--radius-card)}.segmented{display:inline-flex;gap:2px;padding:2px;border-radius:var(--radius-input);background:var(--bg-tertiary);border:1px solid var(--border-subtle)}.segmented__opt{padding:5px var(--space-3);border-radius:calc(var(--radius-input) - 3px);border:1px solid transparent;background:transparent;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.segmented__opt:hover{color:var(--text-primary)}.segmented__opt--on{background:var(--bg-card);color:var(--text-primary);font-weight:var(--font-weight-medium);border-color:var(--border-subtle);box-shadow:0 1px 1px #0000000a}.input{display:block;width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-input);border:1.5px solid var(--border-input);background:var(--bg-card);color:var(--text-primary);font-size:var(--font-size-base);font-family:var(--font-family);line-height:var(--line-height-base);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;box-sizing:border-box;min-height:44px}.input::placeholder{color:var(--text-tertiary)}.input:focus,.input:focus-visible{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--border-focus) 20%,transparent);outline:none}.input.error{border-color:var(--accent-red)}.input.error:focus{box-shadow:0 0 0 3px var(--accent-red-light)}select.input{cursor:pointer;appearance:none;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A9099' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:16px}textarea.input{resize:vertical;min-height:120px;font-family:var(--font-family)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;height:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition-slow),color var(--transition-slow)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);letter-spacing:var(--letter-spacing-tight);color:var(--text-primary)}a{color:var(--accent-blue);text-decoration:none;transition:opacity var(--transition-fast)}a:hover{text-decoration:underline}button{font-family:var(--font-family);cursor:pointer;border:none;background:none}img{max-width:100%;height:auto}input,textarea,select{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-card);border:1px solid var(--border-input);border-radius:var(--radius-input);padding:8px 12px;outline:none;transition:border-color var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-light)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--text-tertiary)}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px;border-radius:4px}::selection{background:var(--selection-bg, rgba(0, 122, 255, .22))}::-moz-selection{background:var(--selection-bg, rgba(0, 122, 255, .22))}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-card);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skeleton-pulse{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--border-subtle) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){[role=dialog]{max-height:90vh;overflow-y:auto}input,textarea,select{font-size:16px}}@media (prefers-reduced-motion: reduce){.skeleton-pulse{animation:none;background:var(--bg-secondary)}}router-outlet+*{animation:fade-in .25s cubic-bezier(.4,0,.2,1) both}
