.drop-overlay[data-v-4b7b13ee]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drop);display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--overlay)}.drop-box[data-v-4b7b13ee]{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-7);min-width:min(420px,80vw);border:2px dashed var(--accent);border-radius:var(--radius-l);background:var(--surface);color:var(--accent)}.drop-text[data-v-4b7b13ee]{margin:0;font-size:var(--text-xl);font-weight:600}.toast-host[data-v-c13a1341]{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:min(360px,calc(100vw - var(--space-6)))}.toast[data-v-c13a1341]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow);font-size:var(--text-sm);cursor:pointer;animation:toast-in var(--dur-base) var(--ease-out)}.toast-success[data-v-c13a1341]{border-left:3px solid var(--success)}.toast-error[data-v-c13a1341]{border-left:3px solid var(--danger)}.toast-info[data-v-c13a1341]{border-left:3px solid var(--accent)}.toast-success .toast-icon[data-v-c13a1341]{color:var(--success)}.toast-error .toast-icon[data-v-c13a1341]{color:var(--danger)}.toast-info .toast-icon[data-v-c13a1341]{color:var(--accent)}.toast-icon[data-v-c13a1341]{display:flex;flex:none;align-items:center;justify-content:center}.toast-msg[data-v-c13a1341]{flex:1}.toast-close[data-v-c13a1341]{display:inline-flex;flex:none;align-items:center;justify-content:center;padding:var(--space-1);border-radius:var(--radius-s);color:var(--muted);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.toast-close[data-v-c13a1341]:hover{color:var(--text);background:var(--surface)}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--radius-full: 999px;--dur-fast: .12s;--dur-base: .18s;--dur-slow: .24s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--z-popover: 30;--z-tooltip: 60;--z-overlay: 90;--z-modal: 200;--z-palette: 210;--z-drop: 250;--z-toast: 300;--text-on-accent: #ffffff;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 20px;--text-2xl: 28px;--text-3xl: 36px;--line-tight: 1.2;--card-color: #0e1b30;--card-bg: rgba(14, 27, 48, .54);--card-bg-hover: rgba(14, 27, 48, .68);--card-opacity: .92;--card-radius: 14px;--card-columns: 4;--card-min-height: 72px;--card-icon-size: 44px;--grid-gap: 16px;--bg-blur: 0px;--bg-brightness: 1;--bg-image: none;--wallpaper-blur: 0px;--wallpaper-brightness: 1;--wallpaper-saturation: 100%;--wallpaper-overlay: none;--glass-blur: 18px;--glass-saturation: 140%;--glass-highlight: rgba(255, 255, 255, .72);--ambient-a: rgba(95, 125, 230, .18);--ambient-b: rgba(149, 117, 230, .14);--ambient-c: rgba(71, 190, 200, .1);--ring: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}[data-theme=dark]{--bg-color: #0e1116;--surface: rgba(255, 255, 255, .055);--surface-hover: rgba(255, 255, 255, .1);--surface-solid: #171b23;--border: rgba(255, 255, 255, .09);--text: #e8eaf0;--muted: #99a2b3;--accent: #6ea8fe;--accent-strong: #3b82f6;--accent-soft: #8b5cf6;--danger: #f87171;--success: #34d399;--warning: #fbbf24;--shadow: 0 4px 16px rgba(0, 0, 0, .35);--overlay: rgba(5, 8, 12, .55);--scrollbar: rgba(255, 255, 255, .18)}[data-theme=light]{--bg-color: #f5f7fc;--surface: rgba(255, 255, 255, .72);--surface-hover: rgba(255, 255, 255, .98);--surface-solid: #ffffff;--border: rgba(30, 43, 70, .11);--text: #182238;--muted: #68758b;--accent: #4668dc;--accent-strong: #315bd2;--accent-soft: #7d6ee8;--danger: #dc2626;--success: #059669;--warning: #d97706;--shadow: 0 8px 24px rgba(35, 54, 92, .1);--overlay: rgba(30, 40, 60, .35);--scrollbar: rgba(35, 51, 82, .2)}.aurora{display:none}[data-visual-theme=liquid-motion] .aurora{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.aurora-blob{position:absolute;border-radius:50%;filter:blur(64px);will-change:transform}.aurora-blob-1{width:58vmax;height:58vmax;left:-16vmax;top:-20vmax;background:radial-gradient(circle at 38% 42%,rgba(56,189,248,.42),rgba(56,189,248,.05) 58%,transparent 72%);opacity:.65;animation:aurora-drift-a 34s ease-in-out infinite alternate}.aurora-blob-2{width:52vmax;height:52vmax;right:-14vmax;top:-12vmax;background:radial-gradient(circle at 55% 40%,rgba(167,139,250,.4),rgba(167,139,250,.05) 58%,transparent 72%);opacity:.55;animation:aurora-drift-b 44s ease-in-out infinite alternate-reverse}.aurora-blob-3{width:56vmax;height:56vmax;left:-18vmax;bottom:-24vmax;background:radial-gradient(circle at 45% 45%,rgba(52,211,153,.3),rgba(52,211,153,.04) 58%,transparent 72%);opacity:.5;animation:aurora-drift-c 40s ease-in-out infinite alternate}.aurora-blob-4{width:40vmax;height:40vmax;right:-10vmax;bottom:-14vmax;background:radial-gradient(circle at 50% 50%,rgba(110,201,255,.34),rgba(110,201,255,.04) 58%,transparent 72%);opacity:.5;animation:aurora-drift-a 28s ease-in-out infinite alternate-reverse}@keyframes aurora-drift-a{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(9vmax,5vmax,0) scale(1.14)}}@keyframes aurora-drift-b{0%{transform:translateZ(0) scale(1.08)}to{transform:translate3d(-7vmax,9vmax,0) scale(1)}}@keyframes aurora-drift-c{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(6vmax,-8vmax,0) scale(1.16)}}.aurora-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.aurora-stars{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1.4px 1.4px at 12% 22%,rgba(255,255,255,.9),transparent 100%),radial-gradient(1px 1px at 26% 8%,rgba(255,255,255,.7),transparent 100%),radial-gradient(1.2px 1.2px at 38% 31%,rgba(255,255,255,.85),transparent 100%),radial-gradient(1px 1px at 52% 14%,rgba(255,255,255,.6),transparent 100%),radial-gradient(1.5px 1.5px at 63% 27%,rgba(255,255,255,.9),transparent 100%),radial-gradient(1px 1px at 74% 9%,rgba(255,255,255,.7),transparent 100%),radial-gradient(1.2px 1.2px at 86% 24%,rgba(255,255,255,.8),transparent 100%),radial-gradient(1px 1px at 94% 41%,rgba(255,255,255,.6),transparent 100%),radial-gradient(1.3px 1.3px at 18% 52%,rgba(255,255,255,.75),transparent 100%),radial-gradient(1px 1px at 42% 67%,rgba(255,255,255,.55),transparent 100%),radial-gradient(1.4px 1.4px at 68% 58%,rgba(255,255,255,.85),transparent 100%),radial-gradient(1px 1px at 88% 72%,rgba(255,255,255,.6),transparent 100%),radial-gradient(1.2px 1.2px at 8% 78%,rgba(255,255,255,.7),transparent 100%),radial-gradient(1px 1px at 32% 88%,rgba(255,255,255,.55),transparent 100%),radial-gradient(1.3px 1.3px at 56% 92%,rgba(255,255,255,.8),transparent 100%),radial-gradient(1px 1px at 78% 85%,rgba(255,255,255,.6),transparent 100%);background-repeat:no-repeat;animation:aurora-twinkle 5.5s ease-in-out infinite alternate}@keyframes aurora-twinkle{0%{opacity:.45}to{opacity:.95}}.aurora-shooting{position:absolute;width:150px;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.95),transparent);opacity:0;transform:rotate(-32deg)}.aurora-shooting-1{top:16%;left:10%;animation:aurora-shoot 11s linear infinite}.aurora-shooting-2{top:44%;left:66%;animation:aurora-shoot 13s linear 6.5s infinite}@keyframes aurora-shoot{0%{transform:translateZ(0) rotate(-32deg);opacity:0}1.5%{opacity:1}5%{transform:translate3d(-30vmax,19vmax,0) rotate(-32deg);opacity:0}to{transform:translate3d(-30vmax,19vmax,0) rotate(-32deg);opacity:0}}[data-visual-theme=liquid-motion] .group-visible .app-card,[data-visual-theme=liquid-motion] .pinned-grid>*{animation:motion-card-in .48s var(--ease-out) both;animation-delay:calc(min(var(--i, 0),8)*45ms)}@keyframes motion-card-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}[data-visual-theme=liquid-motion] .app-card:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;content:"";pointer-events:none;border-radius:inherit;background:radial-gradient(240px circle at var(--spot-x, 50%) var(--spot-y, 50%),color-mix(in srgb,var(--accent) 16%,transparent),transparent 62%);opacity:0;transition:opacity .26s ease}[data-visual-theme=liquid-motion] .app-card:hover:after,[data-visual-theme=liquid-motion] .app-card:focus-visible:after{opacity:1}[data-visual-theme=liquid-motion] .app-card{transition:border-color .18s ease,transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,background .18s ease}[data-visual-theme=liquid-motion] .app-card:hover,[data-visual-theme=liquid-motion] .app-card:focus-visible{box-shadow:inset 0 1px color-mix(in srgb,var(--glass-highlight) 36%,transparent),0 16px 36px color-mix(in srgb,var(--accent) 16%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent),0 0 18px #a78bfa38,0 0 32px #ff5c8a21}[data-visual-theme=liquid-motion] .app-card:hover .app-icon,[data-visual-theme=liquid-motion] .app-card:focus-visible .app-icon{transform:translateY(-2px) scale(1.07) rotate(-3deg);transition:transform .46s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease;box-shadow:inset 0 1px color-mix(in srgb,var(--glass-highlight) 46%,transparent),0 9px 20px color-mix(in srgb,var(--accent) 28%,transparent)}[data-visual-theme=liquid-motion] .home-header{position:relative;border-color:color-mix(in srgb,var(--accent) 16%,var(--border))}[data-visual-theme=liquid-motion] .home-header:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:1px;opacity:.75;background:linear-gradient(90deg,transparent 5%,color-mix(in srgb,var(--accent) 45%,transparent) 30%,color-mix(in srgb,var(--accent-soft) 60%,transparent) 50%,color-mix(in srgb,var(--accent) 45%,transparent) 70%,transparent 95%);background-size:220% 100%;animation:aurora-line-flow 8s linear infinite}@keyframes aurora-line-flow{0%{background-position:220% 0}to{background-position:-220% 0}}[data-visual-theme=liquid-motion] .search-field{position:relative;transition:border-color .14s ease,background .14s ease,box-shadow .24s ease}[data-visual-theme=liquid-motion] .search-field:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;border-radius:10px;background:linear-gradient(120deg,#22d3ee,#8b5cf6 40%,#ff5c8a 62%,#22d3ee);background-size:300% 100%;opacity:0;transition:opacity .24s ease}[data-visual-theme=liquid-motion] .search-field:hover:before,[data-visual-theme=liquid-motion] .search-field:focus-visible:before{opacity:.9;animation:neon-border-flow 4s linear infinite}@keyframes neon-border-flow{0%{background-position:0% 0}to{background-position:300% 0}}[data-visual-theme=liquid-motion] .search-field:hover,[data-visual-theme=liquid-motion] .search-field:focus-visible{animation:search-glow 2.6s ease-in-out infinite}@keyframes search-glow{0%,to{box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 12%,transparent),0 0 12px color-mix(in srgb,var(--accent) 16%,transparent)}50%{box-shadow:0 8px 26px color-mix(in srgb,var(--accent) 18%,transparent),0 0 26px color-mix(in srgb,var(--accent) 34%,transparent)}}[data-visual-theme=liquid-motion] .btn-primary{box-shadow:0 8px 18px color-mix(in srgb,var(--accent-strong) 24%,transparent),0 0 12px color-mix(in srgb,var(--accent) 18%,transparent)}[data-visual-theme=liquid-motion] .btn-primary:hover{box-shadow:0 10px 24px color-mix(in srgb,var(--accent-strong) 38%,transparent)}[data-visual-theme=liquid-motion] .modal{animation:motion-modal-in .32s var(--ease-spring) both}@keyframes motion-modal-in{0%{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}html[data-visual-theme=liquid-terminal] .app-name,html[data-visual-theme=liquid-terminal] .group-name,html[data-visual-theme=liquid-terminal] .section-title-wrap h2,html[data-visual-theme=liquid-terminal] .search-field,html[data-visual-theme=liquid-terminal] .group-count,html[data-visual-theme=liquid-terminal] .badge{font-family:var(--font-mono)}html[data-visual-theme=liquid-terminal] .app-card{border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--card-bg) 92%,var(--glass-highlight)),color-mix(in srgb,var(--card-bg) 82%,transparent));box-shadow:inset 0 1px color-mix(in srgb,var(--glass-highlight) 16%,transparent),0 10px 26px #00000061}html[data-visual-theme=liquid-terminal] .app-card:hover,html[data-visual-theme=liquid-terminal] .app-card:focus-visible{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:inset 0 1px color-mix(in srgb,var(--glass-highlight) 24%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent),0 14px 30px #00000070;transform:translateY(-1px)}html[data-visual-theme=liquid-terminal] .app-icon{border-radius:8px}html[data-visual-theme=liquid-terminal] .home-header{border-radius:12px;border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}html[data-visual-theme=liquid-terminal] .search-field{border-radius:8px;background:color-mix(in srgb,var(--surface-solid) 72%,transparent)}html[data-visual-theme=liquid-terminal] .search-field:hover,html[data-visual-theme=liquid-terminal] .search-field:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent),0 8px 22px #0000005c}html[data-visual-theme=liquid-terminal] .section-title-wrap h2:before{content:"▍";margin-right:3px;color:var(--accent);animation:terminal-blink 1.1s steps(1) infinite}@keyframes terminal-blink{50%{opacity:0}}html[data-visual-theme=liquid-terminal] .btn{border-radius:8px}html[data-visual-theme=liquid-terminal] .btn-primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-soft) 30%,transparent)}html[data-visual-theme=liquid-terminal] .group-visible .app-card,html[data-visual-theme=liquid-terminal] .pinned-grid>*{animation:terminal-card-in .36s ease both;animation-delay:calc(min(var(--i, 0),8)*30ms)}@keyframes terminal-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}html[data-visual-theme=liquid-poster] .app-card{border-radius:2px;border-color:#17130d80;background:linear-gradient(145deg,color-mix(in srgb,var(--card-bg) 96%,var(--glass-highlight)),color-mix(in srgb,var(--card-bg) 88%,transparent));box-shadow:inset 0 1px color-mix(in srgb,#fff 46%,transparent),3px 3px #17130d29}html[data-visual-theme=liquid-poster] .app-card:hover,html[data-visual-theme=liquid-poster] .app-card:focus-visible{border-color:var(--accent);transform:translate(-2px,-2px);box-shadow:inset 0 1px color-mix(in srgb,#fff 55%,transparent),6px 6px #17130d38}html[data-visual-theme=liquid-poster] .app-card:active{transform:translate(0);box-shadow:inset 0 1px color-mix(in srgb,#fff 46%,transparent),2px 2px #17130d29}html[data-visual-theme=liquid-poster] .app-icon{border-radius:2px}html[data-visual-theme=liquid-poster] .group-visible .app-card,html[data-visual-theme=liquid-poster] .pinned-grid>*{animation:poster-stamp-in .52s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(min(var(--i, 0),8)*55ms)}@keyframes poster-stamp-in{0%{opacity:0;transform:scale(2.2) rotate(-8deg)}60%{opacity:1;transform:scale(.94) rotate(1.5deg)}to{opacity:1;transform:scale(1) rotate(0)}}html[data-visual-theme=liquid-poster] .section-title-wrap{position:relative}html[data-visual-theme=liquid-poster] .section-title-wrap h2:after{content:"";position:absolute;left:0;bottom:-4px;height:3px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;animation:poster-underline .6s cubic-bezier(.2,.8,.2,1) .25s both}@keyframes poster-underline{to{transform:scaleX(1)}}html[data-visual-theme=liquid-poster] .home-header{position:relative;border-radius:2px}html[data-visual-theme=liquid-poster] .home-header:after{content:"";position:absolute;left:2px;right:2px;bottom:-4px;height:4px;opacity:.85;background:repeating-linear-gradient(-45deg,var(--accent) 0 12px,var(--text) 12px 24px)}html[data-visual-theme=liquid-poster] .search-field{border-radius:0;border-color:#17130d80;box-shadow:2px 2px #17130d24}html[data-visual-theme=liquid-poster] .search-field:hover,html[data-visual-theme=liquid-poster] .search-field:focus-visible{border-color:var(--accent);box-shadow:3px 3px #17130d33}html[data-visual-theme=liquid-poster] .btn{border-radius:0;box-shadow:2px 2px #17130d29}html[data-visual-theme=liquid-poster] .btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #17130d38}html[data-visual-theme=liquid-poster] .btn-primary{box-shadow:2px 2px #17130d42,inset 0 1px color-mix(in srgb,#fff 22%,transparent)}html[data-visual-theme=liquid-poster] .btn-primary:hover{box-shadow:4px 4px #17130d4d}html[data-visual-theme=liquid-poster] .badge{font-family:var(--font-mono);border-radius:0;border-color:#17130d6b;color:var(--accent-strong);background:transparent}.poster-grain{display:none}html[data-visual-theme=liquid-poster] .poster-grain{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font-sans);font-size:var(--text-md);color:var(--text);background:radial-gradient(circle at 8% -10%,var(--ambient-a),transparent 38%),radial-gradient(circle at 96% 0%,var(--ambient-b),transparent 34%),radial-gradient(circle at 50% 105%,var(--ambient-c),transparent 40%),var(--bg-color);-webkit-font-smoothing:antialiased;line-height:1.5;transition:background-color .18s ease,color .18s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:var(--bg-image);background-size:cover;background-position:center;background-repeat:no-repeat;filter:blur(calc(var(--bg-blur) + var(--wallpaper-blur))) brightness(calc(var(--bg-brightness) * var(--wallpaper-brightness))) saturate(var(--wallpaper-saturation));transform:scale(1.06);pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:var(--wallpaper-overlay),linear-gradient(180deg,color-mix(in srgb,var(--bg-color) 10%,transparent),transparent 42%),radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--glass-highlight) 20%,transparent),transparent 54%)}button{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-s)}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.text-muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-s);background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:var(--text-sm);font-weight:500;backdrop-filter:blur(calc(var(--glass-blur) * .65)) saturate(var(--glass-saturation));-webkit-backdrop-filter:blur(calc(var(--glass-blur) * .65)) saturate(var(--glass-saturation));transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out);-webkit-user-select:none;user-select:none}.btn:hover{background:var(--surface-hover);transform:translateY(-1px)}.btn:active{background:var(--surface-hover);transform:translateY(0) scale(.985)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent-soft));border-color:transparent;color:var(--text-on-accent);box-shadow:0 8px 18px color-mix(in srgb,var(--accent-strong) 24%,transparent)}.btn-primary:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-strong) 86%,#fff),var(--accent-soft));box-shadow:0 10px 22px color-mix(in srgb,var(--accent-strong) 32%,transparent)}.btn-primary:active{transform:translateY(0) scale(.985);box-shadow:0 4px 12px color-mix(in srgb,var(--accent-strong) 22%,transparent)}.btn-danger{background:transparent;border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.btn-danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--surface)}.btn-sm{padding:4px 10px;font-size:var(--text-xs)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:var(--radius-s);color:var(--muted);transition:background 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(--surface-hover);color:var(--text)}.icon-btn:active{transform:scale(.92)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn.danger:hover{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.menu-pop{position:absolute;min-width:168px;padding:var(--space-1);background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:var(--shadow)}.menu-item{display:flex;width:100%;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-s);font-size:var(--text-sm);color:var(--text);text-align:left;transition:background var(--dur-fast) var(--ease-out)}.menu-item:hover{background:var(--surface-hover)}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.kbd{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1;padding:3px 6px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-bottom-width:2px;border-radius:var(--radius-s)}.progress{height:6px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--text) 10%,transparent);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width var(--dur-base) var(--ease-out)}.progress-fill.danger{background:var(--danger)}.app-shell{display:grid;grid-template-columns:252px minmax(0,1fr);align-items:start;max-width:1500px;min-height:100vh;margin:0 auto}.app-page{min-width:0;padding:0 var(--space-6) 0 40px}.app-main{width:100%;max-width:1200px;margin:0 auto;padding:var(--space-6) 0 52px}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-s);padding:var(--space-2) var(--space-3);color:var(--text);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}.field .hint{font-size:var(--text-xs);color:var(--muted)}.field .field-error{font-size:var(--text-xs);color:var(--danger)}@keyframes shimmer{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.skeleton{background:var(--surface);border-radius:var(--radius-s);animation:shimmer 1.4s ease-in-out infinite}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
