:root{--bg: #f8f9fa;--surface: #ffffff;--surface-2: #f1f3f4;--border: #dadce0;--text: #202124;--text-2: #5f6368;--blue: #1a73e8;--blue-hover: #1765cc;--blue-soft: #e8f0fe;--on-blue: #ffffff;--red: #d93025;--red-soft: #fce8e6;--yellow: #f9ab00;--green: #188038;--green-soft: #e6f4ea;--shadow-1: 0 1px 2px rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);--shadow-2: 0 1px 3px rgba(60, 64, 67, .3), 0 4px 8px 3px rgba(60, 64, 67, .15);--font: "Google Sans", "Google Sans Text", Roboto, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--mono: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #202124;--surface: #292a2d;--surface-2: #35363a;--border: #3c4043;--text: #e8eaed;--text-2: #9aa0a6;--blue: #8ab4f8;--blue-hover: #aecbfa;--blue-soft: rgba(138, 180, 248, .16);--on-blue: #202124;--red: #f28b82;--red-soft: rgba(242, 139, 130, .16);--yellow: #fdd663;--green: #81c995;--green-soft: rgba(129, 201, 149, .16);--shadow-1: 0 1px 2px rgba(0, 0, 0, .6), 0 1px 3px 1px rgba(0, 0, 0, .35);--shadow-2: 0 1px 3px rgba(0, 0, 0, .6), 0 4px 8px 3px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5}.app{max-width:1120px;margin:0 auto;padding:20px 20px 72px}.app-header{margin-bottom:20px}.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:12px}.brand h1{margin:0;font-size:22px;font-weight:500}.logo-dots{display:grid;grid-template-columns:repeat(2,11px);gap:3px}.logo-dots i{width:11px;height:11px;border-radius:50%}.logo-dots i:nth-child(1){background:#4285f4}.logo-dots i:nth-child(2){background:#ea4335}.logo-dots i:nth-child(3){background:#fbbc04}.logo-dots i:nth-child(4){background:#34a853}.tabs{display:flex;gap:4px;margin-top:14px;border-bottom:1px solid var(--border);overflow-x:auto}.tab{padding:12px 18px;border:none;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:none;color:var(--text-2);font:inherit;font-weight:500;white-space:nowrap}.tab:hover:not(:disabled){background:var(--surface-2);color:var(--text);box-shadow:none}.tab.active{color:var(--blue);border-bottom-color:var(--blue);background:none}main{display:flex;flex-direction:column;gap:20px}h2{margin:0;font-size:16px;font-weight:500}.card,.panel-form,.result-panel,.docs-card,.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px}.panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}@media (max-width: 800px){.panel{grid-template-columns:1fr}}.panel-form,.card{display:flex;flex-direction:column;gap:14px;padding:18px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.step{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:8px;border-radius:50%;background:var(--blue);color:var(--on-blue);font-size:12px;font-weight:500}input,select,textarea{font:inherit;color:var(--text)}input:not([type=file]),select,textarea{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);transition:border-color .15s,box-shadow .15s}input:not([type=file]):hover,select:hover,textarea:hover{border-color:var(--text-2)}input:not([type=file]):focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}textarea{width:100%;resize:vertical;font-family:var(--mono);font-size:12.5px;line-height:1.55}.field{display:flex;flex-direction:column;gap:6px;color:var(--text-2);font-size:12.5px}.field.grow{flex:1;min-width:200px}.field input,.field select{font-size:14px}.config-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.config-row>label:not(.field){display:flex;flex-direction:column;gap:6px;color:var(--text-2);font-size:12.5px}button{padding:9px 22px;border:1px solid transparent;border-radius:999px;background:var(--blue);color:var(--on-blue);font:inherit;font-weight:500;cursor:pointer;transition:background .15s,box-shadow .15s}button:hover:not(:disabled){background:var(--blue-hover);box-shadow:var(--shadow-1)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:transparent;color:var(--blue);border-color:var(--border)}button.secondary:hover:not(:disabled){background:var(--blue-soft);box-shadow:none}button.danger{color:var(--red)}button.danger:hover:not(:disabled){background:var(--red-soft)}button.small{padding:5px 14px;font-size:13px}.docs-note{color:var(--text-2);font-size:12.5px}.upload-ok{color:var(--green);font-size:13px}.upload-err{color:var(--red);font-size:13px;word-break:break-word}.chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:12px}.chip.ok{background:var(--green-soft);color:var(--green)}.chip.err{background:var(--red-soft);color:var(--red)}.usage-bar{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:8px;background:var(--blue-soft);font-size:13.5px}.usage-bar small{color:var(--text-2)}.usage-low{background:var(--red-soft);color:var(--red)}.cost-line{margin:0;color:var(--text-2);font-size:13px}.tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.tpl-card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-align:left;font-weight:400;cursor:pointer;transition:box-shadow .15s,border-color .15s}.tpl-card:hover:not(:disabled){background:var(--surface);box-shadow:var(--shadow-2)}.tpl-card.selected{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue)}.tpl-media{position:relative;aspect-ratio:3 / 4;background:var(--surface-2)}.tpl-media video{display:block;width:100%;height:100%;object-fit:cover}.tpl-media .tpl-fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-soft),var(--surface-2));color:var(--blue);font-size:44px;font-weight:500}.tpl-badge{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--blue);color:var(--on-blue);font-size:14px}.tpl-play{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;background:#202124b3;color:#fff;font-size:11px}.tpl-info{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}.tpl-name{font-weight:500}.tpl-desc{display:-webkit-box;overflow:hidden;color:var(--text-2);font-size:12.5px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.tpl-id{color:var(--text-2);font-family:var(--mono);font-size:11.5px}.tpl-card.add{align-items:center;justify-content:center;min-height:200px;gap:6px;border-style:dashed;color:var(--blue);font-weight:500}.tpl-actions{display:flex;gap:6px;padding:0 12px 12px}.tpl-editor{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px}@media (max-width: 800px){.tpl-editor{grid-template-columns:1fr}}.tpl-editor .tpl-media{overflow:hidden;border-radius:12px}.tpl-editor .col{display:flex;flex-direction:column;gap:12px}.result-panel{display:flex;flex-direction:column;gap:12px;min-height:240px;padding:18px}.result-placeholder{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-2)}.result-error{padding:12px 14px;border-radius:8px;background:var(--red-soft);color:var(--red)}.result-error p,.result-placeholder p{margin:0}.result-video{width:100%;max-height:560px;border-radius:12px;background:#000}.result-image-wrap{display:flex;flex-direction:column;gap:8px}.result-image{width:100%;border-radius:12px}.result-text{color:var(--text-2)}.download-btn{align-self:flex-start;padding:6px 16px;border:1px solid var(--border);border-radius:999px;color:var(--blue);font-weight:500;text-decoration:none}.download-btn:hover{background:var(--blue-soft)}.spinner{width:32px;height:32px;border:3px solid var(--surface-2);border-top-color:var(--blue);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.debug{max-height:320px;margin:8px 0 0;padding:12px;overflow:auto;border-radius:8px;background:var(--surface-2);color:var(--text);font-family:var(--mono);font-size:12px;white-space:pre-wrap;word-break:break-all}details>summary{color:var(--blue);font-weight:500;cursor:pointer}details.adv{padding:10px 14px;border:1px solid var(--border);border-radius:8px}details.adv[open]>summary{margin-bottom:12px}.save-form{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px dashed var(--border);border-radius:8px}.upload-zone{padding:16px;border:1px dashed var(--border);border-radius:12px;color:var(--text-2);text-align:center;cursor:pointer}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.thumb{position:relative}.thumb img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.thumb-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;border-radius:50%;line-height:1}.docs{display:flex;flex-direction:column;gap:16px}.docs-card{display:flex;flex-direction:column;gap:12px;padding:18px 20px}.docs-card p{margin:0;line-height:1.65}.docs code{padding:1px 6px;border-radius:4px;background:var(--surface-2);font-family:var(--mono);font-size:12.5px}.code-block{position:relative}.code-block pre{margin:0;padding:14px 76px 14px 16px;overflow-x:auto;border-radius:8px;background:var(--surface-2);color:var(--text);font-family:var(--mono);font-size:12.5px;line-height:1.6;white-space:pre}.code-block .copy-btn{position:absolute;top:8px;right:8px;padding:3px 12px;font-size:12px;background:var(--surface)}.docs-table{width:100%;border-collapse:collapse;font-size:13.5px}.docs-table th,.docs-table td{padding:8px 12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.docs-table th{color:var(--text-2);font-weight:500}.table-scroll{overflow-x:auto}.cell-wrap{max-width:320px;word-break:break-all}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-left:4px solid #4285f4;border-radius:8px;background:var(--surface-2)}.stat:nth-child(4n+2){border-left-color:#ea4335}.stat:nth-child(4n+3){border-left-color:#fbbc04}.stat:nth-child(4n+4){border-left-color:#34a853}.stat small{color:var(--text-2)}.stat b{font-size:17px;font-weight:500}.login-card{display:flex;flex-direction:column;gap:14px;width:100%;max-width:380px;margin:48px auto;padding:28px;box-shadow:var(--shadow-1)}.login-card h2{font-size:20px}.login-card p{margin:0}.hist-list{display:flex;flex-direction:column;gap:10px}.hist-item{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.hist-item.open{box-shadow:var(--shadow-1);border-color:var(--blue)}.hist-row{display:flex;align-items:center;gap:14px;padding:10px 14px;cursor:pointer}.hist-row:hover{background:var(--surface-2);border-radius:12px}.hist-thumb{display:flex;flex:none;align-items:center;justify-content:center;width:48px;height:64px;overflow:hidden;border-radius:8px;background:var(--surface-2);color:var(--text-2)}.hist-thumb video{width:100%;height:100%;object-fit:cover}.hist-main{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.hist-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:500}.hist-err{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hist-nums{display:flex;flex:none;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.hist-caret{flex:none;color:var(--text-2)}.hist-detail{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;padding:14px 16px 18px;border-top:1px solid var(--border)}@media (max-width: 800px){.hist-detail{grid-template-columns:1fr}.hist-row{flex-wrap:wrap}.hist-nums{align-items:flex-start}}.hist-detail-media{display:flex;flex-direction:column;gap:10px}.hist-detail-media video{width:100%;border-radius:12px;background:#000}.hist-detail-info{display:flex;min-width:0;flex-direction:column;gap:14px}.hist-detail-info th{width:150px;color:var(--text-2);font-weight:500}
