.login-modal[data-v-ef7d659d] .n-modal-mask{backdrop-filter:blur(8px)}.modal-hint[data-v-ef7d659d]{color:var(--color-text-secondary);font-size:.875rem}.login-form[data-v-ef7d659d]{margin-top:16px}.form-actions[data-v-ef7d659d]{margin-top:24px}.oauth-divider[data-v-ef7d659d]{margin:16px 0 12px}.oauth-buttons[data-v-ef7d659d]{justify-content:center;gap:16px;margin-bottom:8px;display:flex}.form-footer[data-v-ef7d659d]{text-align:center;margin-top:16px}.settings-content[data-v-559c683d]{flex-direction:column;gap:24px;display:flex}.settings-section[data-v-559c683d]{flex-direction:column;gap:16px;display:flex}.section-header[data-v-559c683d]{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;padding-bottom:8px;display:flex}.section-icon[data-v-559c683d]{font-size:18px}.section-title[data-v-559c683d]{color:var(--color-text-primary);font-size:14px;font-weight:600}.settings-group[data-v-559c683d]{flex-direction:column;gap:12px;padding-left:8px;display:flex}.setting-item[data-v-559c683d]{background:var(--color-bg-tertiary);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .2s;display:flex}.setting-item[data-v-559c683d]:hover{background:var(--color-bg-hover,#8080801a)}.setting-label[data-v-559c683d]{color:var(--color-text-primary);align-items:center;gap:10px;font-size:13px;display:flex}.label-icon[data-v-559c683d]{opacity:.8;font-size:16px}.slider-container[data-v-559c683d]{align-items:center;gap:12px;display:flex}.slider-value[data-v-559c683d]{min-width:40px;color:var(--color-text-secondary);text-align:right;font-family:monospace;font-size:12px}.app-header[data-v-d7ebfd05]{width:100%;z-index:var(--z-header);background:var(--color-bg-secondary);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);transition:all .5s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;right:0}.header-container[data-v-d7ebfd05]{max-width:var(--layout-public-max-width);padding:0 var(--padding-header-x);height:var(--layout-header-height);justify-content:space-between;align-items:center;margin:0 auto;transition:max-width .5s cubic-bezier(.4,0,.2,1),padding .5s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.app-header.is-editor .header-container[data-v-d7ebfd05]{max-width:100%;padding:0 var(--padding-header-x-wide)}.app-header.is-public-playground .header-container[data-v-d7ebfd05]{max-width:100%;padding:0 var(--padding-header-x)}.header-left[data-v-d7ebfd05]{align-items:center;gap:var(--gap-xl);transition:transform .5s cubic-bezier(.4,0,.2,1);display:flex}.header-right[data-v-d7ebfd05]{align-items:center;gap:var(--gap-xs);transition:transform .5s cubic-bezier(.4,0,.2,1);display:flex}.logo[data-v-d7ebfd05]{align-items:center;gap:var(--gap-xs);color:var(--color-brand);white-space:nowrap;font-size:1.125rem;font-weight:700;text-decoration:none;display:flex}.logo-icon[data-v-d7ebfd05]{font-size:1.25rem}.nav-links[data-v-d7ebfd05]{gap:var(--gap-xs);display:flex}.nav-link[data-v-d7ebfd05]{padding:var(--padding-xs) var(--padding-md);color:var(--color-text-secondary);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .5s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.nav-link[data-v-d7ebfd05]:hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.nav-link.router-link-active[data-v-d7ebfd05]{color:var(--color-brand)}.nav-link.hidden-nav-item[data-v-d7ebfd05]{opacity:0;pointer-events:none;width:0;margin:0;padding:0}.editor-actions[data-v-d7ebfd05]{gap:var(--gap-sm);z-index:10;display:flex;position:absolute;left:50%;transform:translate(-50%)}.editor-actions.public-playground-info[data-v-d7ebfd05]{justify-content:center;width:100%;position:static;transform:none}.slide-down-enter-active[data-v-d7ebfd05],.slide-down-leave-active[data-v-d7ebfd05]{transition:all .5s cubic-bezier(.34,1.56,.64,1)}.slide-down-enter-from[data-v-d7ebfd05],.slide-down-leave-to[data-v-d7ebfd05]{opacity:0;transform:translate(-50%,-40px)}.action-btn[data-v-d7ebfd05]{width:var(--button-height-medium);height:var(--button-height-medium);border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:var(--color-text-secondary);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.action-btn[data-v-d7ebfd05]:hover{background:var(--color-bg-hover,var(--color-bg-tertiary));color:var(--color-text-primary);transform:scale(1.05)}.action-btn[data-v-d7ebfd05]:active{transform:scale(.95)}.locale-btn[data-v-d7ebfd05]{width:auto;padding:0 var(--padding-sm);gap:var(--gap-xs);font-size:.85rem;font-weight:600}.locale-icon[data-v-d7ebfd05]{align-items:center;display:flex}.locale-code[data-v-d7ebfd05]{font-size:.8rem}.theme-btn[data-v-d7ebfd05]{position:relative;overflow:hidden}.theme-btn[data-v-d7ebfd05] svg{transition:transform .3s}.theme-btn[data-v-d7ebfd05]:hover svg{transform:rotate(15deg)}.theme-btn.is-dark[data-v-d7ebfd05] svg{color:var(--color-brand)}.user-btn[data-v-d7ebfd05]{align-items:center;gap:var(--gap-xs);padding:var(--padding-2xs) var(--padding-sm) var(--padding-2xs) var(--padding-2xs);border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);border:none;display:flex}.user-btn[data-v-d7ebfd05]:hover{background:var(--color-bg-hover,var(--color-bg-tertiary))}.user-avatar[data-v-d7ebfd05]{border-radius:var(--radius-sm);background:var(--color-brand);color:#18181c;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:600;display:flex}.user-avatar-guest[data-v-d7ebfd05]{background:var(--color-bg-hover,var(--color-bg-tertiary));color:var(--color-text-secondary)}.user-btn-guest[data-v-d7ebfd05]{padding:var(--padding-2xs)}.user-name[data-v-d7ebfd05]{font-size:.875rem;font-weight:500}.back-btn-logo[data-v-d7ebfd05]{align-items:center;gap:var(--gap-xs);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:1.125rem;font-weight:700;transition:opacity .3s;display:flex}.back-btn-logo[data-v-d7ebfd05]:hover{opacity:.8}.playground-title[data-v-d7ebfd05]{color:var(--color-text-secondary);align-items:center;gap:var(--gap-xs);background:var(--color-bg-tertiary);padding:var(--padding-2xs) var(--padding-sm);border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;display:flex}.public-playground-info[data-v-d7ebfd05]{width:100%;position:static;transform:none}.public-playground-center[data-v-d7ebfd05]{justify-content:center;align-items:center;gap:var(--gap-md);flex-wrap:wrap;display:flex}.public-project-name[data-v-d7ebfd05]{color:var(--color-text-primary);font-size:.9rem;font-weight:600}.public-time[data-v-d7ebfd05]{color:var(--color-text-tertiary);font-size:.8rem}.readonly-notice-text[data-v-d7ebfd05]{color:var(--color-text-tertiary);font-size:.85rem}.fade-enter-active[data-v-d7ebfd05],.fade-leave-active[data-v-d7ebfd05]{transition:opacity .3s}.fade-enter-from[data-v-d7ebfd05],.fade-leave-to[data-v-d7ebfd05]{opacity:0}.app-footer[data-v-cf8e3121]{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);margin-top:auto;padding:40px 0 24px}.footer-main[data-v-cf8e3121]{grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;margin-bottom:32px;display:grid}@media (width<=768px){.footer-main[data-v-cf8e3121]{text-align:center;grid-template-columns:1fr;gap:24px}}.footer-brand .logo[data-v-cf8e3121]{color:var(--color-brand);align-items:center;gap:8px;margin-bottom:8px;font-size:1.25rem;font-weight:700;display:inline-flex}.logo-icon[data-v-cf8e3121]{font-size:1.5rem}.tagline[data-v-cf8e3121]{color:var(--color-text-secondary);font-size:.9rem}.footer-contact h4[data-v-cf8e3121],.footer-legal h4[data-v-cf8e3121]{color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:.875rem;font-weight:600}.email-link[data-v-cf8e3121]{color:var(--color-text-secondary);transition:color var(--transition-fast);align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.email-link[data-v-cf8e3121]:hover{color:var(--color-brand)}.legal-links[data-v-cf8e3121]{flex-direction:column;gap:8px;display:flex}.legal-links a[data-v-cf8e3121]{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:.9rem}.legal-links a[data-v-cf8e3121]:hover{color:var(--color-text-primary)}.footer-bottom[data-v-cf8e3121]{text-align:center;border-top:1px solid var(--color-border);color:var(--color-text-tertiary);padding-top:24px;font-size:.875rem}.beian-info[data-v-cf8e3121]{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;font-size:.8rem;display:flex}.beian-info a[data-v-cf8e3121]{color:var(--color-text-tertiary);transition:color var(--transition-fast);align-items:center;gap:4px;display:inline-flex}.beian-info a[data-v-cf8e3121]:hover{color:var(--color-text-secondary)}.beian-info .divider[data-v-cf8e3121]{color:var(--color-border)}.beian-info .police-icon[data-v-cf8e3121]{width:14px;height:14px}:root{box-sizing:border-box;--color-brand:#18a058;--color-brand-hover:#36ad6a;--color-brand-pressed:#0c7a43;--color-bg-base:#fff;--color-bg-secondary:#f5f7fa;--color-bg-tertiary:#e8ebed;--color-bg-card:#fff;--color-bg-modal:#fff;--color-bg-hover:#eef2f7;--color-text-primary:#1f2937;--color-text-secondary:#6b7280;--color-text-tertiary:#9ca3af;--color-text-inverse:#fff;--color-border:#e5e7eb;--color-border-hover:#d1d5db;--color-success:#18a058;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--font-family-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono:SFMono-Regular, Menlo, Consolas, Courier, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-display-1:48px;--font-size-display-2:40px;--font-size-display-3:32px;--font-size-heading-1:28px;--font-size-heading-2:24px;--font-size-heading-3:20px;--font-size-body-1:16px;--font-size-body-2:14px;--font-size-meta:12px;--line-height-heading:1.2;--line-height-body:1.6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:64px;--padding-2xs:var(--space-1);--padding-xs:var(--space-2);--padding-sm:var(--space-3);--padding-md:var(--space-4);--padding-lg:var(--space-5);--padding-xl:var(--space-6);--padding-card-compact:var(--space-4);--padding-card:var(--space-5);--padding-panel:var(--space-5);--padding-modal:var(--space-5);--padding-header-x:var(--space-5);--padding-header-x-wide:var(--space-6);--padding-banner-y:var(--space-2);--padding-banner-x:var(--space-5);--padding-button-sm-x:var(--space-3);--padding-button-md-x:var(--space-4);--padding-button-lg-x:var(--space-5);--padding-input-sm-x:var(--space-3);--padding-input-md-x:var(--space-4);--padding-input-lg-x:var(--space-4);--padding-tag-x:var(--space-2);--gap-xs:var(--space-2);--gap-sm:var(--space-3);--gap-md:var(--space-4);--gap-lg:var(--space-5);--gap-xl:var(--space-6);--margin-xs:var(--space-2);--margin-sm:var(--space-3);--margin-md:var(--space-4);--margin-lg:var(--space-5);--margin-xl:var(--space-6);--margin-section:var(--space-8);--margin-page:var(--space-9);--height-tiny:24px;--height-small:32px;--height-medium:36px;--height-large:44px;--height-huge:46px;--button-height-small:32px;--button-height-medium:36px;--button-height-large:44px;--input-height-small:32px;--input-height-medium:36px;--input-height-large:40px;--tag-height-small:20px;--tag-height-medium:24px;--layout-public-max-width:1200px;--layout-reading-max-width:1080px;--layout-internal-max-width:1100px;--layout-header-height:60px;--layout-section-padding-desktop:120px;--layout-section-padding-mobile:80px;--panel-width-sm:240px;--panel-width-md:280px;--panel-width-lg:320px;--modal-width-sm:420px;--modal-width-md:560px;--modal-width-lg:720px;--z-header:100;--z-view-transition:9999;--focus-ring-color:#18a05829;--focus-ring-width:3px;--scrollbar-size:8px}:root[data-theme=dark]{--color-brand:#63e2b7;--color-brand-hover:#7fe7c4;--color-brand-pressed:#5acea7;--color-bg-base:#101014;--color-bg-secondary:#18181c;--color-bg-tertiary:#26262a;--color-bg-card:#1e1e22;--color-bg-modal:#2c2c30;--color-bg-hover:#303036;--color-text-primary:#f3f4f6;--color-text-secondary:#a0a0a6;--color-text-tertiary:#707074;--color-text-inverse:#101014;--color-border:#3a3a3e;--color-border-hover:#4a4a4e;--color-success:#63e2b7;--color-warning:#f5c542;--color-error:#e88080;--color-info:#70c0e8;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 6px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006;--shadow-xl:0 20px 25px -5px #00000080;--focus-ring-color:#63e2b73d}*{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-body-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-sans);font-size:var(--font-size-body-1);background-color:var(--color-bg-base);color:var(--color-text-primary);line-height:var(--line-height-body);transition:background-color var(--transition-normal), color var(--transition-normal)}a{color:var(--color-brand);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-brand-hover)}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.container{width:100%;max-width:var(--layout-public-max-width);padding:0 var(--padding-lg);margin:0 auto}.section{padding:var(--layout-section-padding-desktop) 0}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--padding-card);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:var(--z-view-transition);animation:.5s ease-out forwards ripple-reveal}@keyframes ripple-reveal{0%{clip-path:circle(0 at var(--ripple-x,50%) var(--ripple-y,50%))}to{clip-path:circle(var(--ripple-radius,100vmax) at var(--ripple-x,50%) var(--ripple-y,50%))}}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}@media (width<=768px){.section{padding:var(--layout-section-padding-mobile) 0}}.app-layout{min-height:100vh;padding-top:var(--layout-header-height);flex-direction:column;display:flex}.app-main{min-height:calc(100vh - var(--layout-header-height));flex-direction:column;flex:1;display:flex}.announcement-banners{flex-direction:column;display:flex}.announcement-banner{padding:var(--padding-banner-y) var(--padding-banner-x);justify-content:space-between;align-items:center;gap:var(--gap-sm);font-size:.875rem;line-height:1.5;display:flex}.announcement-banner--info{color:var(--color-text-primary);background:#1890ff1f;border-bottom:1px solid #1890ff4d}.announcement-banner--warning{color:var(--color-text-primary);background:#fa8c161f;border-bottom:1px solid #fa8c1659}.announcement-banner--critical{color:var(--color-text-primary);background:#ff4d4f1f;border-bottom:1px solid #ff4d4f59}.announcement-content{flex:1}.announcement-close{cursor:pointer;color:var(--color-text-secondary);padding:var(--padding-2xs) var(--padding-xs);border-radius:var(--radius-sm);transition:background var(--transition-fast);background:0 0;border:none;flex-shrink:0;font-size:1.1rem;line-height:1}.announcement-close:hover{color:var(--color-text-primary);background:#00000014}.auth-degraded-banner{padding:var(--padding-banner-y) var(--padding-banner-x);justify-content:space-between;align-items:center;gap:var(--gap-sm);color:var(--color-text-primary);background:#fa8c161f;border-bottom:1px solid #fa8c1659;font-size:.875rem;line-height:1.5;display:flex}.auth-degraded-retry{padding:var(--padding-2xs) var(--padding-sm);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-primary);transition:background var(--transition-fast);background:#fa8c1633;border:1px solid #fa8c1666;flex-shrink:0;font-size:.8rem}.auth-degraded-retry:hover:not(:disabled){background:#fa8c1659}.auth-degraded-retry:disabled{opacity:.6;cursor:not-allowed}
