.layout[data-v-ce8c0817]{min-height:100vh;display:flex;flex-direction:column}.topbar[data-v-ce8c0817]{position:sticky;top:0;z-index:50;background:var(--c-card);border-bottom:1px solid var(--c-card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.topbar-inner[data-v-ce8c0817]{max-width:1200px;margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar-brand[data-v-ce8c0817]{display:flex;align-items:center;gap:10px;min-width:0}.topbar-logo[data-v-ce8c0817]{width:36px;height:36px;border-radius:9px;box-shadow:0 2px 8px #0f398840}.topbar-name[data-v-ce8c0817]{font-size:16px;font-weight:700;color:var(--c-text);letter-spacing:.5px}.topbar-tag[data-v-ce8c0817]{font-size:var(--fs-xs);color:var(--c-text-mute);border-left:1px solid var(--c-card-border);padding-left:10px;margin-left:4px}@media (max-width: 480px){.topbar-tag[data-v-ce8c0817]{display:none}}.topbar-user[data-v-ce8c0817]{display:flex;align-items:center;gap:6px;flex-shrink:0}.topbar-username[data-v-ce8c0817]{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--c-text-soft);padding:6px 10px;border-radius:var(--r-sm);background:#f8fafc;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-logout[data-v-ce8c0817]{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--c-text-soft);background:transparent;border:1px solid var(--c-card-border);border-radius:var(--r-sm);padding:6px 10px;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.topbar-logout[data-v-ce8c0817]:hover{color:var(--c-danger);border-color:#fca5a5;background:#fef2f2}.topbar-feedback[data-v-ce8c0817]{position:relative;display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);color:var(--c-text-soft);text-decoration:none;padding:6px 10px;border-radius:var(--r-sm);transition:color .15s,background .15s}.topbar-feedback[data-v-ce8c0817]:hover{color:var(--c-text);background:#f1f5f9}.topbar-feedback-badge[data-v-ce8c0817]{background:#ef4444;color:#fff;font-size:10px;font-weight:600;padding:0 5px;height:14px;line-height:14px;border-radius:7px;min-width:14px;text-align:center}.mlayout[data-v-840372ce]{min-height:100vh;display:flex;flex-direction:column;background:var(--c-bg, #fdfaf3)}.mbar[data-v-840372ce]{position:sticky;top:0;z-index:50;background:var(--c-card);border-bottom:1px solid var(--c-card-border);height:44px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mbar-brand[data-v-840372ce]{display:flex;align-items:center;gap:6px;min-width:0}.mbar-logo[data-v-840372ce]{width:26px;height:26px;border-radius:7px}.mbar-name[data-v-840372ce]{font-size:14px;font-weight:700;color:var(--c-text);letter-spacing:.5px}.mbar-logout[data-v-840372ce]{width:32px;height:32px;border:1px solid var(--c-card-border);background:transparent;border-radius:999px;color:var(--c-text-soft);display:grid;place-items:center;cursor:pointer}.mbar-logout[data-v-840372ce]:active{color:var(--c-danger);border-color:#fca5a5;background:#fef2f2}.mbar-actions[data-v-840372ce]{display:inline-flex;align-items:center;gap:4px}.mbar-feedback[data-v-840372ce]{position:relative;width:30px;height:30px;display:grid;place-items:center;color:var(--c-text-soft);border-radius:var(--r-sm);text-decoration:none}.mbar-feedback[data-v-840372ce]:active{background:#f1f5f9}.mbar-feedback-badge[data-v-840372ce]{position:absolute;top:2px;right:0;background:#ef4444;color:#fff;font-size:9px;font-weight:600;padding:0 4px;height:13px;line-height:13px;border-radius:7px;min-width:13px;text-align:center}.watermark-layer[data-v-9941646d]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:9999;overflow:hidden}.watermark-layer[data-v-9941646d] *{pointer-events:none!important}.watermark-tile[data-v-9941646d]{position:absolute;top:-50%;left:-50%;width:200%;height:200%;display:flex;flex-direction:column;align-items:flex-start;transform:rotate(-22deg);color:#1a20351a;font-size:14px;font-weight:600;letter-spacing:1px;white-space:nowrap;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.watermark-row[data-v-9941646d]{display:flex;flex-direction:row;margin-bottom:90px;gap:180px}.watermark-cell[data-v-9941646d]{flex-shrink:0}.slg-overlay[data-v-f1660c32]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.slg-card[data-v-f1660c32]{background:#fff;border-radius:14px;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 20px 60px #00000040;border:1px solid #e5e7eb}.slg-head[data-v-f1660c32]{display:flex;align-items:center;gap:10px;padding:16px 18px;border-bottom:1px solid #f1f5f9;background:linear-gradient(135deg,#fff7ed,#fef2f2)}.slg-icon[data-v-f1660c32]{font-size:22px}.slg-title[data-v-f1660c32]{margin:0;font-size:16px;font-weight:700;color:#7f1d1d;flex:1}.slg-close[data-v-f1660c32]{background:transparent;border:0;cursor:pointer;font-size:16px;color:#6b7280;padding:4px 10px;border-radius:999px}.slg-close[data-v-f1660c32]:hover{background:#0000000f;color:#111}.slg-body[data-v-f1660c32]{padding:16px 18px;color:#1f2937}.slg-lead[data-v-f1660c32]{margin:0 0 12px;line-height:1.6;font-size:14px}.slg-app[data-v-f1660c32]{color:#4338ca}.slg-strong[data-v-f1660c32]{color:#b91c1c;font-weight:700}.slg-rules[data-v-f1660c32]{margin:0 0 12px 18px;padding:0;font-size:13px;line-height:1.7;color:#374151}.slg-rules li[data-v-f1660c32]{margin-bottom:2px}.slg-rules b[data-v-f1660c32]{color:#111}.slg-preview[data-v-f1660c32]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:12.5px;color:#475569}.slg-preview summary[data-v-f1660c32]{cursor:pointer;font-weight:600;color:#475569;-webkit-user-select:none;user-select:none}.slg-preview-text[data-v-f1660c32]{margin:8px 0 0;padding:8px;background:#fff;border:1px dashed #cbd5e1;border-radius:6px;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-all;color:#1f2937}.slg-foot[data-v-f1660c32]{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px 16px;border-top:1px solid #f1f5f9}.slg-btn[data-v-f1660c32]{padding:8px 16px;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;border:0;transition:background .15s,transform .1s,opacity .15s}.slg-btn[data-v-f1660c32]:disabled{opacity:.55;cursor:not-allowed}.slg-btn--ghost[data-v-f1660c32]{background:transparent;color:#475569;border:1px solid #cbd5e1}.slg-btn--ghost[data-v-f1660c32]:hover:not(:disabled){background:#f1f5f9}.slg-btn--primary[data-v-f1660c32]{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;min-width:200px}.slg-btn--primary[data-v-f1660c32]:hover:not(:disabled){transform:translateY(-1px)}.slg-fade-enter-active[data-v-f1660c32],.slg-fade-leave-active[data-v-f1660c32]{transition:opacity .18s ease}.slg-fade-enter-from[data-v-f1660c32],.slg-fade-leave-to[data-v-f1660c32]{opacity:0}@media (max-width: 480px){.slg-card[data-v-f1660c32]{width:100%}.slg-btn--primary[data-v-f1660c32]{min-width:0;flex:1}}:root{--c-bg: #f5f7fb;--c-card: #ffffff;--c-card-border: #e6e8ee;--c-text: #0f172a;--c-text-soft: #475569;--c-text-mute: #94a3b8;--c-primary: #6366f1;--c-primary-d: #4f46e5;--c-primary-l: #eef2ff;--c-accent: #8b5cf6;--c-success: #10b981;--c-danger: #ef4444;--g-primary: linear-gradient(135deg, #4f46e5 0%, #6366f1 50%, #8b5cf6 100%);--g-hero: radial-gradient(ellipse at 30% 20%, #312e81 0%, #1e1b4b 45%, #0b1020 100%);--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 22px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 14px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 28px rgba(79, 70, 229, .18);--pad-card: 18px;--gap-grid: 18px;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 28px;--fs-3xl: 40px}*{box-sizing:border-box}html,body,#app{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:var(--fs-md);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 20px}.hero{position:relative;background:var(--g-hero);color:#fff;padding:64px 20px 88px;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.5) 50%,transparent 100%),radial-gradient(1px 1px at 70% 60%,rgba(255,255,255,.4) 50%,transparent 100%),radial-gradient(1.5px 1.5px at 40% 80%,rgba(199,210,254,.55) 50%,transparent 100%),radial-gradient(1px 1px at 85% 25%,rgba(255,255,255,.5) 50%,transparent 100%),radial-gradient(1px 1px at 10% 70%,rgba(199,210,254,.4) 50%,transparent 100%),radial-gradient(2px 2px at 60% 10%,rgba(255,255,255,.6) 50%,transparent 100%),radial-gradient(1px 1px at 50% 50%,rgba(255,255,255,.3) 50%,transparent 100%);background-size:100% 100%;pointer-events:none}.hero-inner{position:relative;max-width:720px;margin:0 auto;text-align:center}.hero-tag{display:inline-block;padding:4px 12px;border-radius:999px;background:#6366f12e;border:1px solid rgba(199,210,254,.25);font-size:var(--fs-xs);letter-spacing:1.5px;color:#c7d2fe;margin-bottom:18px;text-transform:uppercase}.hero-title{font-size:var(--fs-3xl);line-height:1.15;font-weight:800;margin:0 0 14px;letter-spacing:-.5px;background:linear-gradient(180deg,#fff,#c7d2fe);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-subtitle{font-size:var(--fs-lg);line-height:1.6;color:#ffffffc7;margin:0 auto 28px;max-width:540px}.hero-search{display:flex;align-items:center;background:#ffffff14;border:1px solid rgba(199,210,254,.25);border-radius:999px;padding:6px 6px 6px 18px;max-width:480px;margin:0 auto;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s,background .15s}.hero-search:focus-within{background:#ffffff21;border-color:#c7d2fe80}.hero-search input{flex:1;background:transparent;border:0;outline:0;color:#fff;font-size:var(--fs-md);padding:8px 0}.hero-search input::placeholder{color:#ffffff73}.hero-search-clear{width:32px;height:32px;border:0;background:#ffffff1a;border-radius:50%;color:#fff;display:grid;place-items:center;font-size:14px}.hero-search-clear:hover{background:#fff3}.toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:-36px auto 24px;position:relative;z-index:2;background:var(--c-card);border:1px solid var(--c-card-border);border-radius:var(--r-lg);padding:12px 16px;box-shadow:var(--shadow-md)}.toolbar-summary{font-size:var(--fs-sm);color:var(--c-text-soft)}.toolbar-summary b{color:var(--c-text)}.platform-toggle{display:inline-flex;background:#f1f5f9;border-radius:999px;padding:3px;gap:2px}.platform-toggle button{padding:6px 14px;border:0;background:transparent;color:var(--c-text-soft);font-size:var(--fs-sm);font-weight:500;border-radius:999px;transition:background .12s,color .12s}.platform-toggle button:hover{color:var(--c-text)}.platform-toggle button.active{background:var(--c-card);color:var(--c-primary-d);font-weight:600;box-shadow:var(--shadow-sm)}.grid{display:grid;grid-template-columns:1fr;gap:var(--gap-grid);padding-bottom:60px}@media (min-width: 640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1280px){.grid{grid-template-columns:repeat(4,1fr)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border:1px solid transparent;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:600;background:#fff;color:var(--c-text);transition:transform .08s,box-shadow .15s,background .15s;white-space:nowrap}.btn:active{transform:scale(.97)}.btn--primary{background:var(--g-primary);color:#fff;border-color:transparent;box-shadow:0 4px 14px #6366f159}.btn--primary:hover{box-shadow:0 8px 22px #6366f173}.btn--ghost{background:var(--c-primary-l);color:var(--c-primary-d);border-color:var(--c-primary-l)}.btn--ghost:hover{background:#e0e7ff}.btn--icon{width:38px;height:38px;padding:0;border-color:var(--c-card-border);color:var(--c-text-soft);background:#fff}.btn--icon:hover{color:var(--c-primary-d);border-color:var(--c-primary)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.3px}.chip--android{background:#d1fae5;color:#065f46}.chip--desktop{background:#e0e7ff;color:#3730a3}.chip--both{background:linear-gradient(90deg,#d1fae5,#e0e7ff);color:#1e293b}.skeleton{background:var(--c-card);border:1px solid var(--c-card-border);border-radius:var(--r-lg);padding:var(--pad-card);height:220px}.skeleton-bar{height:12px;border-radius:6px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:shimmer 1.4s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{text-align:center;padding:80px 20px;color:var(--c-text-mute)}.empty h3{color:var(--c-text-soft);margin:12px 0 4px}.empty p{font-size:var(--fs-sm);margin:0}.site-footer{border-top:1px solid var(--c-card-border);padding:24px 20px;text-align:center;font-size:var(--fs-xs);color:var(--c-text-mute);background:#fff}.site-footer a{color:var(--c-primary-d);margin:0 6px}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);background:#0f172aeb;color:#fff;padding:10px 18px;border-radius:999px;font-size:var(--fs-sm);box-shadow:0 8px 24px #00000040;z-index:999;animation:toastIn .18s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s}.modal-box{background:#fff;border-radius:var(--r-lg);padding:24px 22px 20px;max-width:380px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 16px 36px #00000038}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
