:root{--tg-bg: #f4f6fb;--tg-surface: #ffffff;--tg-surface-soft: #fafbfe;--tg-border: #e7ebf3;--tg-text: #1b2333;--tg-text-soft: #5b6478;--tg-text-mute: #8b93a5;--tg-shadow-sm: 0 2px 10px rgba(21, 35, 72, .06);--tg-shadow: 0 8px 26px rgba(21, 35, 72, .09);--tg-shadow-lg: 0 20px 52px rgba(21, 35, 72, .16);--tg-gradient: linear-gradient(100deg, #0b5ed7 0%, #1677ff 46%, #00a6a6 100%);--tg-mono: "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace}[data-theme=dark]{--tg-bg: #0e1117;--tg-surface: #161a22;--tg-surface-soft: #1c212b;--tg-border: #272d3a;--tg-text: #e7ecf6;--tg-text-soft: #a4adc0;--tg-text-mute: #79839a;--tg-shadow-sm: 0 2px 10px rgba(0, 0, 0, .4);--tg-shadow: 0 8px 26px rgba(0, 0, 0, .5);--tg-shadow-lg: 0 20px 52px rgba(0, 0, 0, .62)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--tg-bg);color:var(--tg-text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}.tg-layout{min-height:100vh;background:var(--tg-bg)!important}.tg-container{width:100%;max-width:1280px;margin:0 auto}.tg-front-header{display:flex!important;align-items:center;gap:20px;flex-wrap:wrap;row-gap:10px;height:auto!important;min-height:64px;line-height:normal!important;padding:10px 24px!important;background:var(--tg-gradient)!important;box-shadow:0 6px 24px #0b5ed738;position:sticky;top:0;z-index:20}.tg-brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;cursor:pointer;-webkit-user-select:none;user-select:none}.tg-brand-logo{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:11px;background:#fff3;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tg-brand-logo-solid{background:var(--tg-gradient);color:#fff}.tg-brand-name{color:#fff!important;font-size:18px;letter-spacing:.5px}.tg-brand-badge{padding:2px 9px;border-radius:999px;background:#ffffff38;color:#fff;font-size:12px;line-height:18px;white-space:nowrap}.tg-front-search{flex:1 1 260px;max-width:420px;min-width:200px}.tg-front-search .ant-input-search-button,.tg-front-search .ant-input-search{height:36px}.tg-front-actions{flex:0 0 auto;margin-left:auto}.tg-header-icon-btn{color:#fff!important;border-radius:10px}.tg-header-icon-btn:hover{background:#ffffff29!important}.tg-login-btn{font-weight:500}.tg-user-chip{cursor:pointer;padding:4px 8px;border-radius:10px}.tg-front-header .tg-user-chip{color:#fff}.tg-user-chip:hover{background:#ffffff29}.tg-user-avatar{background:#ffffff47!important}.tg-user-name{color:#fff;font-size:13px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tg-front-content{padding:24px 24px 48px}.tg-sider{background:var(--tg-surface)!important;border-right:1px solid var(--tg-border)}.tg-sider-brand{display:flex;align-items:center;gap:10px;padding:18px 16px 14px}.tg-sider-title{font-weight:700;font-size:15px;color:var(--tg-text);line-height:1.3}.tg-sider-sub{font-size:12px;color:var(--tg-text-mute);line-height:1.3}.tg-admin-header{display:flex!important;align-items:center;justify-content:space-between;gap:16px;height:auto!important;min-height:56px;line-height:normal!important;padding:10px 20px!important;background:var(--tg-surface)!important;border-bottom:1px solid var(--tg-border)}.tg-admin-title{font-size:16px;color:var(--tg-text)}.tg-admin-content{padding:20px 24px 40px;background:var(--tg-bg)}.tg-center-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:90px 20px;color:var(--tg-text-mute)}.tg-center-hint{font-size:13px}.tg-num-cell{font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:100%}.tg-home{display:flex;flex-direction:column;gap:26px}.tg-hero{position:relative;overflow:hidden;border-radius:20px;padding:46px 44px 38px;background:radial-gradient(900px 380px at 8% -10%,rgba(0,166,166,.35),transparent 62%),radial-gradient(760px 360px at 92% 0%,rgba(11,94,215,.42),transparent 60%),linear-gradient(140deg,#0b3f9c,#0b5ed7 45%,#0d8f96);box-shadow:var(--tg-shadow-lg);color:#fff}.tg-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:#ffffff14;pointer-events:none}.tg-hero-badge{display:inline-block;padding:4px 14px;border-radius:999px;background:#ffffff2e;border:1px solid rgba(255,255,255,.24);font-size:12px;letter-spacing:.4px}.tg-hero-title{margin:16px 0 10px;font-size:34px;line-height:1.24;font-weight:800;letter-spacing:.5px;color:#fff;max-width:720px}.tg-hero-sub{margin:0 0 22px;font-size:15px;line-height:1.7;color:#ffffffdb;max-width:680px}.tg-hero-search{max-width:560px}.tg-hero-search .ant-input-affix-wrapper{background:#fff;border-radius:12px!important;height:48px;font-size:15px;border:none!important;box-shadow:0 10px 30px #041a4247;padding-left:14px}.tg-hero-search .ant-input-affix-wrapper .ant-input{background:transparent;border:none!important;box-shadow:none!important;color:#1b2333}.tg-hero-search .ant-input-affix-wrapper .ant-input::placeholder{color:#98a2b3}.tg-hero-search-icon{color:var(--tg-text-mute);font-size:17px}.tg-hero-meta{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:13px;color:#ffffffd1;flex-wrap:wrap}.tg-hero-meta b{font-size:17px;font-weight:700;margin-right:3px}.tg-hero-dot{width:4px;height:4px;border-radius:50%;background:#ffffff80}.tg-hero-offline{color:#ffe8a3}.tg-wall{background:transparent}.tg-wall-tabs .ant-tabs-nav{margin-bottom:18px}.tg-wall-tabs .ant-tabs-tab{padding:9px 2px;font-size:14px}.tg-wall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(288px,1fr));gap:18px}.tg-wall-empty{padding:60px 0;text-align:center}.tg-tool-card{position:relative;overflow:hidden;border-radius:16px!important;background:var(--tg-surface)!important;border-color:var(--tg-border)!important;box-shadow:var(--tg-shadow-sm);transition:transform .18s ease,box-shadow .18s ease;height:100%}.tg-tool-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--tg-accent, #1668dc)}.tg-tool-card:hover{transform:translateY(-4px);box-shadow:var(--tg-shadow)}.tg-tool-card .ant-card-body{padding:20px 20px 16px}.tg-tool-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.tg-tool-card-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;font-size:20px;color:var(--tg-accent, #1668dc);background:color-mix(in srgb,var(--tg-accent, #1668dc) 12%,transparent);flex:0 0 auto}.tg-tool-card-titlebox{min-width:0;flex:1 1 auto}.tg-tool-card-name{font-size:15px;font-weight:650;color:var(--tg-text);line-height:1.4}.tg-tool-card-cat{font-size:12px;color:var(--tg-text-mute)}.tg-tool-card-arrow{color:var(--tg-text-mute);opacity:0;transition:opacity .18s ease,transform .18s ease;transform:translate(-4px)}.tg-tool-card:hover .tg-tool-card-arrow{opacity:1;transform:translate(0)}.tg-tool-card-desc{margin:0 0 14px;font-size:13px;line-height:1.7;color:var(--tg-text-soft);min-height:44px}.tg-tool-card-tags{display:flex;gap:6px;flex-wrap:wrap}.tg-tool-card-tag{padding:1px 8px;border-radius:999px;font-size:11px;color:var(--tg-text-mute);background:var(--tg-surface-soft);border:1px solid var(--tg-border)}.tg-tool-frame{display:flex;flex-direction:column;gap:16px}.tg-tool-head{display:flex;align-items:center;gap:14px}.tg-tool-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px;font-size:22px;color:#fff;background:var(--tg-accent, #1668dc);box-shadow:0 8px 20px color-mix(in srgb,var(--tg-accent, #1668dc) 34%,transparent);flex:0 0 auto}.tg-tool-head-text{min-width:0}.tg-tool-title{margin:0;font-size:21px;font-weight:700;line-height:1.3;color:var(--tg-text)}.tg-tool-sub{margin:3px 0 0;font-size:13px;color:var(--tg-text-soft);line-height:1.5}.tg-tool-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px;border-radius:14px;background:var(--tg-surface);border:1px solid var(--tg-border);box-shadow:var(--tg-shadow-sm)}.tg-action-select{min-width:240px}.tg-toolbar-spacer{flex:1 1 auto}.tg-toolbar-hint{font-size:13px;color:var(--tg-text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.tg-color-input{width:30px;height:26px;padding:0;border:1px solid var(--tg-border);border-radius:6px;background:transparent;cursor:pointer}.tg-tool-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}@media (max-width: 1100px){.tg-tool-grid{grid-template-columns:minmax(0,1fr)}}.tg-tool-col{min-width:0}.tg-panel{display:flex;flex-direction:column;border-radius:16px;background:var(--tg-surface);border:1px solid var(--tg-border);box-shadow:var(--tg-shadow-sm);overflow:hidden}.tg-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--tg-border);background:var(--tg-surface-soft)}.tg-panel-title{font-size:13px;font-weight:650;color:var(--tg-text);letter-spacing:.4px}.tg-panel-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.tg-panel-foot{padding:10px 16px;border-top:1px solid var(--tg-border);background:var(--tg-surface-soft)}.tg-params{display:flex;flex-wrap:wrap;gap:10px 16px;padding:10px 12px;border-radius:10px;background:var(--tg-surface-soft);border:1px dashed var(--tg-border)}.tg-param{display:inline-flex;align-items:center;gap:8px}.tg-param-label{font-size:13px;color:var(--tg-text-soft);white-space:nowrap}.tg-input-textarea{font-family:var(--tg-mono);font-size:13px;line-height:1.65;border-radius:10px;resize:vertical}.tg-output-body{min-height:340px}.tg-output-text{margin:0;padding:12px 14px;border-radius:10px;background:var(--tg-surface-soft);border:1px solid var(--tg-border);font-family:var(--tg-mono);font-size:13px;line-height:1.65;color:var(--tg-text);white-space:pre-wrap;word-break:break-word;max-height:460px;overflow:auto}.tg-meta{display:flex;flex-wrap:wrap;gap:8px}.tg-meta-item{display:inline-flex;align-items:baseline;gap:6px;padding:2px 10px;border-radius:999px;font-size:12px;background:var(--tg-surface);border:1px solid var(--tg-border)}.tg-meta-k{color:var(--tg-text-mute)}.tg-meta-v{color:var(--tg-text);font-weight:600;font-variant-numeric:tabular-nums}.tg-file-result{display:flex;gap:16px;align-items:flex-start}.tg-file-preview{flex:0 0 auto;max-width:240px;max-height:240px;padding:8px;border-radius:12px;background:var(--tg-surface-soft);border:1px solid var(--tg-border)}.tg-file-preview img{display:block;max-width:100%;max-height:220px;border-radius:6px}.tg-file-icon{flex:0 0 auto;width:64px;height:64px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:30px;color:var(--tg-accent, #1668dc);background:color-mix(in srgb,var(--tg-accent, #1668dc) 12%,transparent)}.tg-file-info{min-width:0;flex:1 1 auto}.tg-file-name{font-size:14px;font-weight:600;color:var(--tg-text);word-break:break-all}.tg-file-sub{margin-top:4px;font-size:12px;color:var(--tg-text-soft)}.tg-file-url{margin-top:6px;font-size:12px;color:var(--tg-text-mute);font-family:var(--tg-mono);word-break:break-all}.tg-upload-box{padding:12px;border-radius:12px;border:1px dashed var(--tg-border);background:var(--tg-surface-soft)}.tg-upload-box .ant-upload-wrapper{width:100%}.tg-upload-list{margin-top:8px;font-size:12px;color:var(--tg-text-soft)}.tg-switch-row{display:inline-flex;align-items:center;gap:8px}.tg-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:18px}.tg-stat-card{border-radius:14px!important;background:var(--tg-surface)!important;border-color:var(--tg-border)!important;box-shadow:var(--tg-shadow-sm)}.tg-stat-card .ant-card-body{padding:16px 18px}.tg-filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.tg-table-wrap{border-radius:14px;background:var(--tg-surface);border:1px solid var(--tg-border);box-shadow:var(--tg-shadow-sm);overflow:hidden}.tg-table-wrap .ant-table-wrapper{border-radius:14px}.tg-table-note{margin:10px 2px 0;font-size:12px;color:var(--tg-text-mute)}.tg-error-alert{margin-bottom:14px}@media (max-width: 760px){.tg-hero{padding:32px 22px 28px}.tg-hero-title{font-size:26px}.tg-front-header{padding:10px 14px!important}.tg-front-content,.tg-admin-content{padding-left:14px;padding-right:14px}}
