:root{--wallpaper-image: url(../images/bg.webp);--wallpaper-position: center;--glass-alpha: .72;--font-display: "Instrument Serif", "Noto Serif SC", ui-serif, Georgia, serif;--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Inter", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;--label-primary: rgba(0, 0, 0, .86);--label-secondary: rgba(0, 0, 0, .58);--label-tertiary: rgba(0, 0, 0, .4);--label-quaternary: rgba(0, 0, 0, .2);--material-window: rgba(252, 255, 248, var(--glass-alpha));--material-chrome: rgba(255, 255, 255, .34);--material-chip: rgba(255, 255, 255, .32);--material-chip-hover: rgba(255, 255, 255, .52);--material-chip-active: rgba(255, 255, 255, .86);--material-field: rgba(255, 255, 255, .55);--material-field-focus: rgba(255, 255, 255, .88);--accent: #0a84ff;--accent-soft: rgba(10, 132, 255, .16);--separator: rgba(0, 0, 0, .08);--separator-strong: rgba(0, 0, 0, .14);--window-shadow: 0 48px 120px -32px rgba(14, 30, 22, .44), 0 18px 48px -16px rgba(14, 30, 22, .26), 0 2px 6px rgba(14, 30, 22, .1);--window-edge: 0 0 0 .5px rgba(255, 255, 255, .52), inset 0 1px 0 rgba(255, 255, 255, .78), inset 0 0 0 .5px rgba(255, 255, 255, .28);--icon-shadow: 0 10px 22px -6px rgba(20, 24, 60, .28), 0 3px 8px rgba(20, 24, 60, .12), inset 0 .5px 0 rgba(255, 255, 255, .65), inset 0 -.5px 0 rgba(0, 0, 0, .08);--icon-shadow-hover: 0 18px 32px -6px rgba(20, 24, 60, .34), 0 6px 14px rgba(20, 24, 60, .16), inset 0 .5px 0 rgba(255, 255, 255, .72), inset 0 -.5px 0 rgba(0, 0, 0, .08)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--label-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{overflow-x:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent;padding:0}.wallpaper{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;overflow:hidden;background:linear-gradient(180deg,#07180e2e,#f7f6e514),var(--wallpaper-image) var(--wallpaper-position) / cover no-repeat}.wallpaper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,255,255,.1) 0%,transparent 50%),linear-gradient(180deg,#0000000f,#00000038)}.aurora{position:absolute;border-radius:50%;filter:blur(80px);opacity:.16;mix-blend-mode:soft-light;will-change:transform}.aurora-1{top:-8%;left:-6%;width:58%;height:62%;background:radial-gradient(circle,#ff9dc6,#ff9dc600 60%);animation:drift-a 26s ease-in-out infinite alternate}.aurora-2{top:-14%;right:-10%;width:52%;height:58%;background:radial-gradient(circle,#ffce7a,#ffce7a00 60%);animation:drift-b 32s ease-in-out infinite alternate}.aurora-3{bottom:-18%;left:-4%;width:55%;height:58%;background:radial-gradient(circle,#aab4ff,#aab4ff00 60%);animation:drift-c 30s ease-in-out infinite alternate}.aurora-4{bottom:-10%;right:-6%;width:48%;height:52%;background:radial-gradient(circle,#8df2c4,#8df2c400 60%);animation:drift-d 28s ease-in-out infinite alternate}@keyframes drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(10%,8%) scale(1.14)}}@keyframes drift-b{0%{transform:translate(0) scale(1)}to{transform:translate(-8%,12%) scale(1.1)}}@keyframes drift-c{0%{transform:translate(0) scale(1)}to{transform:translate(12%,-9%) scale(1.16)}}@keyframes drift-d{0%{transform:translate(0) scale(1)}to{transform:translate(-10%,-6%) scale(1.12)}}.wallpaper-grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:240px 240px}.desktop-shell{position:relative;min-height:100vh;padding:40px 32px;display:grid;place-items:center}.launchpad{position:relative;width:min(1220px,100%);height:min(860px,calc(100vh - 80px));min-height:600px;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,#ffffff5c,#ffffff24),var(--material-window);border:1px solid rgba(255,255,255,.42);backdrop-filter:blur(34px) saturate(175%) brightness(1.08);-webkit-backdrop-filter:blur(34px) saturate(175%) brightness(1.08);box-shadow:var(--window-shadow),var(--window-edge);display:flex;flex-direction:column;animation:window-in .8s cubic-bezier(.22,1.1,.36,1) both;isolation:isolate}@keyframes window-in{0%{opacity:0;transform:translateY(18px) scale(.975);filter:blur(8px)}60%{filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.glass-grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px;z-index:1}.glass-sheen{position:absolute;inset:0 0 auto 0;height:220px;pointer-events:none;z-index:1;background:radial-gradient(ellipse 80% 100% at 30% -10%,rgba(255,255,255,.48) 0%,transparent 62%),linear-gradient(180deg,rgba(255,255,255,.24) 0%,transparent 82%)}.topbar{position:relative;z-index:3;display:grid;grid-template-columns:auto minmax(220px,1fr) minmax(220px,360px) auto;align-items:center;gap:20px;padding:16px 22px 14px;border-bottom:1px solid var(--separator);background:#ffffff14}.traffic-lights{display:flex;align-items:center;gap:8px;padding-right:6px}.tl{width:12px;height:12px;border-radius:50%;padding:0;cursor:default;position:relative;box-shadow:inset 0 0 0 .5px #0000001f;transition:filter .18s ease}.tl-close{background:linear-gradient(180deg,#ff6b63,#ff4f46)}.tl-minimize{background:linear-gradient(180deg,#ffc848,#ffb52a)}.tl-maximize{background:linear-gradient(180deg,#2fd04d,#27b73f)}.tl:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;opacity:0;background-position:center;background-repeat:no-repeat;background-size:contain;transition:opacity .14s ease}.traffic-lights:hover .tl:after{opacity:1}.tl-close:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1.7 1.7l4.6 4.6M6.3 1.7l-4.6 4.6' stroke='%234a0000' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E")}.tl-minimize:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1.4 4h5.2' stroke='%23995700' stroke-width='1.1' stroke-linecap='round'/%3E%3C/svg%3E")}.tl-maximize:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M2.2 1.3h-.9v.9M5.8 1.3h.9v.9M5.8 6.7h.9v-.9M2.2 6.7h-.9v-.9' stroke='%23006500' stroke-width='1.2' stroke-linecap='round'/%3E%3C/svg%3E")}.title-block{display:flex;align-items:center;gap:12px;min-width:0}.app-mark{width:34px;height:34px;flex:0 0 auto;display:block;opacity:.82}.app-mark svg,.app-mark img{width:100%;height:100%;display:block}.title-text{display:flex;flex-direction:column;min-width:0}.eyebrow{font-family:var(--font-display);font-style:italic;font-size:14px;color:var(--label-secondary);letter-spacing:.01em;line-height:1.1}h1{margin:1px 0 0;font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.1;color:var(--label-primary)}.beijing-clock{min-width:0;padding:5px 9px 5px 10px;border-radius:8px;background:#ffffff4d;box-shadow:inset 0 0 0 .5px #00000012,inset 0 1px #ffffff6b;display:flex;align-items:baseline;gap:7px;white-space:nowrap}.clock-label{flex:0 0 auto;color:var(--label-secondary);font-size:11px;font-weight:600;line-height:1.15}.clock-label:after{content:"·";margin-left:8px;color:var(--label-quaternary)}#beijingTime{flex:0 0 auto;color:var(--label-primary);font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:700;line-height:1.15}.clock-date{flex:0 1 auto;min-width:0;color:var(--label-secondary);font-size:11.5px;font-weight:500;line-height:1.15;overflow:hidden;text-overflow:ellipsis}.search{position:relative;min-width:0;width:100%;justify-self:end}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--label-tertiary);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;pointer-events:none;transition:color .18s ease}.search input{width:100%;height:34px;padding:0 54px 0 34px;border:0;border-radius:9px;background:var(--material-field);box-shadow:inset 0 0 0 .5px #0000001f,inset 0 1px #fff9,0 1px 2px #14183c0a;color:var(--label-primary);font-size:13.5px;font-weight:500;letter-spacing:.01em;outline:none;transition:background .2s ease,box-shadow .2s ease}.search input::placeholder{color:var(--label-tertiary);font-weight:400}.search input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search input:focus{background:var(--material-field-focus);box-shadow:inset 0 0 0 .5px #0a84ff80,0 0 0 3px var(--accent-soft),0 2px 6px #0a84ff1f}.search input:focus+.kbd{opacity:0;transform:translateY(-50%) scale(.9)}.search:focus-within .search-icon{color:var(--accent)}.kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:2px 6px;border-radius:5px;background:#0000000f;color:var(--label-tertiary);font-family:var(--font-body);font-size:10.5px;font-weight:600;letter-spacing:.02em;line-height:1;pointer-events:none;transition:opacity .18s ease,transform .18s ease}.icon-button{width:34px;height:34px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--label-secondary);background:var(--material-chip);box-shadow:inset 0 0 0 .5px #00000014,inset 0 1px #ffffff80;transition:background .18s ease,color .18s ease,transform .18s ease}.icon-button:hover{background:var(--material-chip-hover);color:var(--label-primary);transform:translateY(-1px)}.icon-button svg{width:16px;height:16px;fill:currentColor}.more-button[aria-expanded=true]{background:#ffffffb8;color:var(--label-primary);box-shadow:0 8px 22px -12px #0e1e1673,inset 0 0 0 .5px #00000014,inset 0 1px #ffffffb3}.appearance-panel[hidden]{display:none}.appearance-panel{position:absolute;top:62px;right:22px;z-index:8;width:min(300px,calc(100% - 44px));padding:14px;overflow:hidden;isolation:isolate;border-radius:12px;background:linear-gradient(180deg,#ffffffbd,#f7f5eca8),#f4f2e7bd;border:1px solid rgba(255,255,255,.74);backdrop-filter:blur(40px) saturate(160%) brightness(1.08);-webkit-backdrop-filter:blur(40px) saturate(160%) brightness(1.08);box-shadow:0 30px 72px -28px #0e1e1680,0 12px 28px -16px #0e1e1642,inset 0 1px #ffffffd6,inset 0 0 0 .5px #ffffff7a;transform-origin:top right;animation:panel-in .18s cubic-bezier(.22,1,.36,1) both}.appearance-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:linear-gradient(180deg,#ffffff6b,#ffffff2e),radial-gradient(circle at top right,rgba(255,239,188,.32),transparent 38%)}.appearance-panel:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:-1;border-radius:9px;background:#fffcf647;box-shadow:inset 0 0 0 1px #ffffff3d,inset 0 18px 36px #ffffff1f}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.panel-section+.panel-section{margin-top:14px;padding-top:14px;border-top:1px solid rgba(0,0,0,.1)}.panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.panel-heading h2,.panel-heading p{margin:0}.panel-heading h2{color:var(--label-primary);font-size:13px;font-weight:700;line-height:1.2}.panel-heading p{color:var(--label-secondary);font-size:12px;font-weight:500;white-space:nowrap}.position-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.position-grid button{height:30px;border-radius:7px;color:var(--label-secondary);background:#ffffff5c;box-shadow:inset 0 0 0 .5px #00000014,inset 0 1px #ffffff85;font-size:12px;font-weight:600;transition:background .16s ease,color .16s ease,transform .16s ease}.position-grid button:hover{background:#ffffff9e;color:var(--label-primary);transform:translateY(-1px)}.position-grid button[aria-pressed=true]{color:#fff;background:var(--accent);box-shadow:0 6px 16px -10px #0a84ffb8,inset 0 1px #ffffff47}.range-field{display:block}.range-field input{width:100%;accent-color:var(--accent)}:is(.search input,.category-button,.site-card,.icon-button,#resetButton,.position-grid button,.range-field input):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.category-bar{position:relative;z-index:3;display:flex;flex-wrap:wrap;align-content:flex-start;gap:4px;padding:12px 22px 10px;border-bottom:1px solid var(--separator);background:#ffffff0f}.category-pill{position:absolute;top:0;left:0;width:0;height:0;border-radius:8px;background:var(--material-chip-active);box-shadow:0 1px 2px #14183c1a,0 0 0 .5px #0000000f,inset 0 .5px #fffc;opacity:0;pointer-events:none;will-change:transform,width,height;transition:transform .26s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1),opacity .16s ease}.category-button{position:relative;z-index:1;height:30px;padding:0 14px;border-radius:8px;color:var(--label-secondary);background:transparent;font-size:13px;font-weight:500;letter-spacing:.005em;white-space:nowrap;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s ease,box-shadow .22s ease,transform .22s cubic-bezier(.22,1.1,.36,1)}.category-button:hover:not([aria-pressed=true]){background:#0000000b;color:var(--label-primary)}.category-button[aria-pressed=true]{background:transparent;color:var(--label-primary);font-weight:600}.category-button.is-drop-target{color:var(--accent);background:#0a84ff1f;box-shadow:0 0 0 1px #0a84ff2e,inset 0 1px #ffffffad}.status-row{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 22px 4px;color:var(--label-secondary);font-size:12.5px;font-weight:500}.status-row p{margin:0;letter-spacing:.01em}.status-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}#resetButton{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 11px;border-radius:7px;color:var(--accent);background:#0a84ff1a;font-size:12px;font-weight:600;letter-spacing:.01em;transition:background .16s ease,transform .2s cubic-bezier(.22,1.1,.36,1)}#resetButton:hover{background:#0a84ff2e;transform:translateY(-1px)}#resetButton svg{width:11px;height:11px}.app-grid{position:relative;z-index:3;flex:1;overflow-y:auto;overflow-x:hidden;padding:18px 22px 30px;display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));align-content:start;gap:22px 10px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.18) transparent}.app-grid.is-drop-append:after{content:"";position:absolute;left:22px;right:22px;bottom:12px;height:4px;border-radius:999px;background:linear-gradient(90deg,#0a84ff4d,#0a84ffeb);box-shadow:0 12px 24px -14px #0a84ffd1;pointer-events:none}.app-grid::-webkit-scrollbar{width:10px}.app-grid::-webkit-scrollbar-track{background:transparent}.app-grid::-webkit-scrollbar-thumb{background:#00000029;background-clip:content-box;border:2.5px solid transparent;border-radius:10px}.app-grid::-webkit-scrollbar-thumb:hover{background:#00000047;background-clip:content-box}.site-card{--stagger: 0ms;position:relative;min-width:0;color:var(--label-primary);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 6px 6px;border-radius:14px;opacity:1;transform:translateY(0);cursor:grab;will-change:transform;transition:transform .26s cubic-bezier(.22,1.1,.36,1),background-color .22s ease,box-shadow .22s ease,opacity .18s ease}.site-card.is-entering{opacity:0;transform:translateY(8px);animation:card-in .48s cubic-bezier(.22,1.1,.36,1) var(--stagger) both}@keyframes card-in{0%{opacity:0;transform:translateY(10px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.site-card:hover{transform:translateY(-3px)}.site-card:active{transform:translateY(-1px) scale(.98);transition-duration:90ms}.site-card.is-dragging{opacity:.42;transform:scale(.96)}.site-card.is-drop-before,.site-card.is-drop-after{background:#ffffff2e;box-shadow:inset 0 0 0 1px #0a84ff29,0 0 0 2px #0a84ff2e}.site-card.is-drop-before{transform:translate3d(0,5px,0) scale(.992)}.site-card.is-drop-after{transform:translate3d(0,-5px,0) scale(.992)}.site-card.is-drop-before .icon-frame,.site-card.is-drop-after .icon-frame{box-shadow:0 0 0 3px #0a84ff2e,var(--icon-shadow-hover)}.site-card.is-drop-before:before,.site-card.is-drop-after:after{content:"";position:absolute;left:10px;right:10px;height:3px;border-radius:999px;background:linear-gradient(90deg,#0a84ff5c,#0a84ffeb);box-shadow:0 8px 18px -10px #0a84ffb8}.site-card.is-drop-before:before{top:0}.site-card.is-drop-after:after{bottom:0}.icon-frame{position:relative;isolation:isolate;width:60px;height:60px;border-radius:22%;background:linear-gradient(180deg,#fffffff5,#f8f8fcd1 55%,#f0f0f8b8);box-shadow:var(--icon-shadow);display:grid;place-items:center;overflow:hidden;transition:transform .28s cubic-bezier(.22,1.1,.36,1),box-shadow .28s ease}.icon-frame:before{content:"";position:absolute;inset:4% 12% auto 12%;height:38%;background:radial-gradient(ellipse at top,#ffffffbf,#fff0 72%);border-radius:50%;pointer-events:none}.site-card:hover .icon-frame{transform:translateY(-2px) scale(1.06);box-shadow:var(--icon-shadow-hover)}.icon-frame img{width:46px;height:46px;object-fit:contain;border-radius:11px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));position:relative;z-index:1}.fallback-icon{color:var(--site-color, #5a6a80);font-family:var(--font-display);font-size:28px;font-weight:600;line-height:1;letter-spacing:-.01em;position:relative;z-index:1}.site-copy{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;min-width:0;text-align:center}.site-name{width:100%;min-width:0;height:17px;font-size:12.5px;font-weight:600;letter-spacing:.005em;line-height:1.3;color:var(--label-primary);text-shadow:0 1px 6px rgba(255,255,255,.55);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-description{font-size:11px;font-weight:500;line-height:1.3;color:var(--label-tertiary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transform:translateY(-2px);transition:opacity .22s ease,transform .22s ease}.site-card:hover .site-description{opacity:1;transform:translateY(0)}.empty-state[hidden]{display:none}.empty-state{margin:auto;padding:40px 24px;text-align:center;color:var(--label-secondary);position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px}.empty-glyph{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--material-chip);color:var(--label-tertiary);box-shadow:inset 0 0 0 .5px #00000014}.empty-glyph svg{width:26px;height:26px}.empty-state h2{margin:4px 0 0;font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--label-primary);letter-spacing:-.005em}.empty-state p{margin:0;font-size:13.5px;color:var(--label-secondary)}.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}@media(max-width:860px){.desktop-shell{padding:14px}.launchpad{height:calc(100vh - 28px);border-radius:20px}.topbar{grid-template-columns:auto 1fr auto;grid-template-areas:"lights title more" "search search search";gap:12px;padding:14px 18px 12px}.traffic-lights{grid-area:lights}.title-block{grid-area:title}.topbar-actions{grid-area:more}.search{grid-area:search;max-width:none}h1{font-size:20px}.category-bar{gap:4px;padding:10px 18px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.category-bar::-webkit-scrollbar{display:none}.category-button{height:28px;padding:0 12px;font-size:12px}.status-row{align-items:flex-start;padding:8px 18px 0}.status-actions{flex:0 1 auto;flex-wrap:wrap}.beijing-clock{max-width:100%}.clock-date{max-width:168px}.app-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:16px 6px;padding:14px 14px 24px}.icon-frame{width:54px;height:54px}.icon-frame img{width:40px;height:40px;border-radius:9.5px}.site-description{display:none}}@media(max-width:480px){.desktop-shell{padding:0}.launchpad{width:100%;height:100vh;min-height:100vh;border-radius:0;box-shadow:none;animation:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.topbar-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.admin-link svg{width:16px;height:16px;fill:currentColor}.admin-panel{width:min(1100px,100%);height:min(860px,calc(100vh - 80px));min-height:600px;overflow:hidden;display:flex;flex-direction:column;background:linear-gradient(135deg,#ffffff5c,#ffffff24),var(--material-window)}.admin-header{position:relative;z-index:3;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-bottom:1px solid var(--separator);background:linear-gradient(180deg,#ffffff29,#ffffff0f)}.admin-header-left{display:flex;align-items:center;gap:12px;min-width:0}.admin-back{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;border-radius:9px;color:var(--label-secondary);background:#ffffff6b;box-shadow:inset 0 0 0 .5px #00000014,inset 0 1px #fff9;font-size:12.5px;font-weight:600;text-decoration:none;transition:background .18s ease,color .18s ease,transform .18s ease}.admin-back:hover{background:#ffffffad;color:var(--label-primary);transform:translateY(-1px)}.admin-back svg{width:14px;height:14px}.admin-title{display:flex;align-items:center;gap:8px;min-width:0}.admin-title svg{width:22px;height:22px;color:var(--accent);opacity:.9}.admin-title h1{font-size:18px;font-weight:700;margin:0;letter-spacing:-.01em;text-shadow:0 1px 2px rgba(255,255,255,.4)}.admin-logout{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;border-radius:9px;color:var(--label-secondary);background:#ffffff6b;box-shadow:inset 0 0 0 .5px #00000014,inset 0 1px #fff9;font-size:12.5px;font-weight:600;transition:background .18s ease,color .18s ease,transform .18s ease}.admin-logout:hover{background:#b44a5c24;color:#b44a5c;transform:translateY(-1px)}.admin-logout svg{width:15px;height:15px}.admin-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border-radius:10px;background:#0000000d;border:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 2px #0000000a}.admin-tab-pill{position:absolute;top:3px;left:3px;width:calc((100% - 8px)/2);height:calc(100% - 6px);border-radius:7px;background:#ffffffc7;box-shadow:0 1px 3px #14183c1a,inset 0 .5px #ffffffe6;pointer-events:none;transition:transform .26s cubic-bezier(.22,1,.36,1)}.admin-tabs[data-active=categories] .admin-tab-pill{transform:translate(calc(100% + 2px))}.admin-tab{position:relative;z-index:1;height:30px;padding:0 14px;border-radius:7px;color:var(--label-secondary);font-size:13px;font-weight:500;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:color .18s ease}.admin-tab svg{width:14px;height:14px}.admin-tab:hover{color:var(--label-primary)}.admin-tab.active{color:var(--label-primary);font-weight:600}.admin-content{position:relative;z-index:2;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:20px 22px 30px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.18) transparent}.admin-content::-webkit-scrollbar{width:10px}.admin-content::-webkit-scrollbar-track{background:transparent}.admin-content::-webkit-scrollbar-thumb{background:#00000029;background-clip:content-box;border:2.5px solid transparent;border-radius:10px}.admin-content::-webkit-scrollbar-thumb:hover{background:#00000047;background-clip:content-box}.admin-manager+.admin-manager{margin-top:28px}.admin-manager-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:12px 16px;border-radius:16px;background:linear-gradient(180deg,#ffffff47,#ffffff2e);border:1px solid rgba(255,255,255,.38);box-shadow:inset 0 0 0 .5px #ffffff57,0 4px 18px #0000000a}.admin-manager-title{display:flex;align-items:center;gap:10px;min-width:0}.admin-manager-header h3{margin:0;font-size:15px;font-weight:700;text-shadow:0 1px 2px rgba(255,255,255,.4)}.admin-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 7px;border-radius:999px;background:#00000014;color:var(--label-secondary);font-size:11.5px;font-weight:700;letter-spacing:.01em}.admin-manager-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-manager-tools .admin-search{width:240px}.admin-manager-tools .admin-button-primary{display:inline-flex;align-items:center;gap:5px}.admin-manager-tools .admin-button-primary svg{width:14px;height:14px}.admin-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--label-tertiary);pointer-events:none}.admin-search input{width:100%;height:34px;padding:0 28px 0 32px;border:0;border-radius:9px;background:#ffffff8c;box-shadow:inset 0 0 0 .5px #0000001a,inset 0 1px #ffffffb3;color:var(--label-primary);font-size:13px;outline:none;transition:background .18s ease,box-shadow .18s ease}.admin-search input:focus{background:#ffffffeb;box-shadow:inset 0 0 0 .5px #0a84ff80,0 0 0 3px var(--accent-soft)}.admin-search-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--label-tertiary);background:#0000000f;font-size:12px}.admin-search-clear:hover{background:#0000001f;color:var(--label-primary)}.admin-table-wrap{border-radius:14px;background:#ffffff29;box-shadow:inset 0 0 0 .5px #ffffff57,0 4px 16px #0000000a;overflow:hidden}.admin-manager h3{margin:0 0 14px;font-size:16px;font-weight:700}.admin-form{margin-bottom:18px;padding:14px;border-radius:12px;background:#ffffff38;box-shadow:inset 0 0 0 .5px #0000000f}.admin-form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.admin-form-row+.admin-form-row{margin-top:12px}.admin-field{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.admin-field-small{flex:0 0 90px}.admin-field-wide{flex:2}.admin-label{font-size:11px;font-weight:600;color:var(--label-secondary)}.admin-field input,.admin-field select{height:32px;padding:0 10px;border:0;border-radius:8px;background:#ffffffa6;box-shadow:inset 0 0 0 .5px #0000001a,inset 0 1px #ffffffb3;color:var(--label-primary);font-size:13px;outline:none;transition:background .18s ease,box-shadow .18s ease}.admin-field input:focus,.admin-field select:focus{background:#ffffffeb;box-shadow:inset 0 0 0 .5px #0a84ff80,0 0 0 3px var(--accent-soft)}.admin-button{height:32px;padding:0 14px;border-radius:8px;color:var(--label-primary);background:#ffffff75;box-shadow:inset 0 0 0 .5px #00000014,inset 0 1px #ffffff8f;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .16s ease,transform .16s ease,box-shadow .16s ease}.admin-button:hover{background:#ffffffb3;transform:translateY(-1px)}.admin-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.admin-button-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px -10px #0a84ffb8}.admin-button-primary:hover{background:#0b74dd}.admin-button-danger{background:#b44a5c24;color:#b44a5c}.admin-button-danger:hover{background:#b44a5c3d}.admin-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.admin-table th,.admin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--separator)}.admin-table th{font-weight:600;color:var(--label-secondary);background:#ffffff3d;border-bottom:1px solid rgba(255,255,255,.22)}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table tbody tr:hover td{background:#ffffff38}.admin-table td input,.admin-table td select{width:100%;height:30px;padding:0 8px;border:0;border-radius:6px;background:#ffffffa6;font-size:13px}.col-icon{width:48px;text-align:center}.col-category{width:110px}.col-sort{width:64px;text-align:center}.col-actions{width:176px;text-align:right}.admin-site-icon{width:28px;height:28px;border-radius:6px;object-fit:cover;background:#ffffff80;box-shadow:inset 0 0 0 .5px #00000014}.cell-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:var(--label-secondary)}.admin-link-text{color:var(--accent);text-decoration:none;word-break:break-all}.admin-link-text:hover{text-decoration:underline}.admin-empty{padding:32px 12px;text-align:center;color:var(--label-secondary)}.sort-arrows{display:inline-flex;flex-direction:column;gap:1px;margin-right:6px;vertical-align:middle}.sort-arrow{width:20px;height:14px;padding:0;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--label-secondary);background:#fff6;transition:background .16s ease,color .16s ease}.sort-arrow svg{width:12px;height:12px}.sort-arrow:hover:not(:disabled){background:#ffffffbf;color:var(--label-primary)}.sort-arrow:disabled{opacity:.35;cursor:not-allowed}.admin-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.admin-actions .admin-button{height:28px;padding:0 10px;font-size:12px}.admin-error{margin:12px 22px 0;padding:10px 14px;border-radius:8px;background:#b44a5c1f;color:#b44a5c;font-size:13px;font-weight:500}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:#1418306b;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);animation:admin-modal-fade-in .18s ease}@keyframes admin-modal-fade-in{0%{opacity:0}to{opacity:1}}.admin-modal{width:min(620px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border-radius:20px;background:linear-gradient(145deg,#ffffffeb,#ffffffdb),#f5f7faf5;border:1px solid rgba(255,255,255,.78);box-shadow:0 24px 60px -16px #00000052,0 12px 24px -10px #0003,inset 0 1px #ffffffe6;animation:admin-modal-scale-in .22s cubic-bezier(.16,1,.3,1)}@keyframes admin-modal-scale-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.admin-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid rgba(0,0,0,.08)}.admin-modal-header h4{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}.admin-modal-close{width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--label-secondary);background:#0000000d;transition:background .16s ease,color .16s ease,transform .16s ease}.admin-modal-close svg{width:16px;height:16px;stroke-width:2}.admin-modal-close:hover{background:#0000001a;color:var(--label-primary);transform:rotate(90deg)}.admin-modal-body{padding:22px 24px 24px}.admin-modal-body .admin-form{margin:0;padding:0;background:transparent;box-shadow:none}.admin-modal-body .admin-form-row{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;align-items:end}.admin-modal-body .admin-form-row+.admin-form-row{margin-top:16px}.admin-modal-body .admin-field{grid-column:span 4}.admin-modal-body .admin-field-wide{grid-column:span 8}.admin-modal-body .admin-field-small{grid-column:span 3}.admin-modal-body .admin-field-full{grid-column:span 12}.admin-modal-body .admin-label{font-size:12px;font-weight:600;color:var(--label-secondary);margin-bottom:2px}.admin-modal-body .admin-field input,.admin-modal-body .admin-field select{height:38px;padding:0 12px;border-radius:10px;background:#ffffffc7;box-shadow:inset 0 0 0 .5px #0000001a,inset 0 1px #ffffffe6,0 1px 2px #14183c0a;font-size:14px;transition:background .18s ease,box-shadow .18s ease}.admin-modal-body .admin-field input:focus,.admin-modal-body .admin-field select:focus{background:#fff;box-shadow:inset 0 0 0 .5px #0a84ff99,0 0 0 4px var(--accent-soft),0 2px 8px #0a84ff1a}.admin-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(0,0,0,.08)}.admin-form-actions .admin-button{height:36px;padding:0 18px;border-radius:10px;font-size:13.5px;font-weight:600}.admin-form-actions .admin-button-primary{background:linear-gradient(180deg,#0a84ff,#0870d8);box-shadow:0 8px 20px -8px #0a84ff99}.confirm-modal-body{padding:8px 0 4px}.confirm-modal-message{margin:0 0 22px;font-size:14.5px;line-height:1.55;color:var(--label-primary)}.confirm-modal-actions{display:flex;justify-content:flex-end;gap:12px}.confirm-modal-actions .admin-button{height:36px;padding:0 18px;border-radius:10px;font-size:13.5px;font-weight:600}.admin-field-with-action{display:flex;flex-direction:column;gap:5px}.admin-field-action-row{display:flex;align-items:center;gap:10px}.admin-field-action-row input{flex:1;min-width:0}.admin-field-action-row .admin-button-ai{flex:0 0 auto;height:38px;padding:0 14px;border-radius:10px;white-space:nowrap;color:#7c3aed;background:linear-gradient(180deg,#a78bfa38,#8b5cf62e);box-shadow:inset 0 0 0 .5px #7c3aed38,inset 0 1px #ffffff80,0 2px 8px #7c3aed1a;font-size:13px;font-weight:600}.admin-field-action-row .admin-button-ai:hover:not(:disabled){background:linear-gradient(180deg,#a78bfa52,#8b5cf642);transform:translateY(-1px)}.admin-field-action-row .admin-button-ai:disabled{opacity:.55;cursor:not-allowed;transform:none}.admin-login{min-height:100vh;display:grid;place-items:center;padding:40px 32px}.admin-login-card{width:min(360px,100%);padding:28px;border-radius:18px;background:linear-gradient(135deg,#ffffff6b,#fff3),var(--material-window);border:1px solid rgba(255,255,255,.48);backdrop-filter:blur(34px) saturate(175%) brightness(1.08);-webkit-backdrop-filter:blur(34px) saturate(175%) brightness(1.08);box-shadow:var(--window-shadow),var(--window-edge)}.admin-login-card h2{margin:0 0 6px;font-size:22px}.admin-login-card p{margin:0 0 18px;color:var(--label-secondary);font-size:13px}.admin-login-card .admin-field{margin-bottom:16px}.admin-login-card .admin-button{width:100%}.admin-login-error{margin:-8px 0 16px;padding:10px 12px;border-radius:10px;background:#b44a5c1f;color:#b44a5c;font-size:13px;font-weight:500;line-height:1.45}@media(max-width:860px){.admin-panel{height:calc(100vh - 28px)}.admin-header{flex-wrap:wrap;gap:12px;padding:12px 14px}.admin-tabs{order:3;flex:1 1 100%;max-width:260px;margin:0 auto}.admin-manager-header{flex-direction:column;align-items:flex-start;gap:12px;padding:14px}.admin-manager-tools{width:100%}.admin-manager-tools .admin-search{width:100%;flex:1}.admin-manager-tools .admin-button-primary{flex:0 0 auto}.admin-form-row{flex-direction:column;align-items:stretch}.admin-field-small{flex:1}.admin-table{display:block;overflow-x:auto}.admin-actions{flex-wrap:wrap}}
