*{box-sizing:border-box}body{color:#222;background:#f4f6f8;margin:0;font-family:PingFang HK,Noto Sans CJK TC,Microsoft JhengHei,sans-serif}header{color:#fff;background:#2f5d7c;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}header .model-select,header .model-select-hdr,header select{-webkit-text-fill-color:#1a4a7a;color:#1a4a7a!important;background:#fff!important}header h1{margin:0;font-size:20px}header small{opacity:.8;margin-left:8px;font-size:13px;font-weight:400}main{max-width:1100px;margin:16px auto;padding:0 12px}.card{background:#fff;border-radius:10px;margin-bottom:16px;padding:16px 20px;box-shadow:0 1px 3px #00000014}h2{color:#2f5d7c;margin:0 0 12px;font-size:17px}h2 small{color:#888;font-weight:400}label{margin:6px 0;font-size:14px;display:block}input,select,textarea{width:100%;font:inherit;border:1px solid #cbd2d9;border-radius:6px;padding:7px 9px;font-size:14px}textarea{resize:vertical}.grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}button{color:#2f5d7c;cursor:pointer;font:inherit;background:#fff;border:1px solid #2f5d7c;border-radius:6px;margin:6px 4px 6px 0;padding:8px 16px;font-size:14px}button.primary{color:#fff;background:#2f5d7c}button.big{padding:10px 24px;font-size:16px}button.ghost{color:#555;border-color:#aaa}header button.ghost{color:#fff;background:0 0;border-color:#fff}button:disabled{opacity:.5;cursor:wait}.pill{color:#2f5d7c;background:#fff;border-radius:12px;padding:3px 10px;font-size:12px}.pill.mock{color:#6b4e00;background:#ffe08a}.pill.err{color:#7a0000;background:#ffb3b3}.banner{color:#8a1010;background:#ffe3e3;border-radius:8px;max-width:1100px;margin:12px auto;padding:10px 16px}.banner.warn{color:#6b4e00;background:#fff4cf}.uploads{grid-template-columns:1fr 1fr;gap:10px;display:grid}.up{border:1px dashed #b9c4ce;border-radius:8px;padding:10px}.up b{margin-bottom:6px;display:block}.up .st{color:#888;font-size:13px}.up.ok{background:#f2fbf5;border-color:#3c9a5f}.up.ok .st{color:#2b7a48}.up.bad{border-color:#d33}.up.bad .st{color:#c00}table.plan{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}table.plan th,table.plan td{vertical-align:top;border:1px solid #dde3e8;padding:4px}table.plan th{background:#eef3f7}table.plan td.m{white-space:nowrap;background:#f7f9fb;font-weight:700}table.plan textarea{border:none;min-height:38px;padding:3px;font-size:13px}tr.cur td.m{background:#ffe9a8}.preview{border:1px solid #333;grid-template-columns:260px 1fr;gap:0;min-height:400px;display:grid}.preview .photos{text-align:center;border-right:1px solid #333;padding:10px}.preview .text{padding:12px 16px;font-family:DFKai-SB,標楷體,AR PL UKai TW,Noto Serif CJK TC,serif}.preview .text p{margin:6px 0}.preview .photos .ph{justify-content:center;align-items:center;max-width:142px;margin:10px auto;display:flex;position:relative}.preview .photos .ph img{object-fit:contain;border-radius:4px;width:100%;max-width:142px;height:auto;margin:0 auto;display:block}.preview .photos .ph button{z-index:1;background:#fff;margin:0;padding:2px 7px;position:absolute;top:2px;right:2px}#photoList img{border-radius:4px;width:100%;max-width:142px;margin:8px auto;display:block}.sec{border:1px solid #0000;border-radius:6px;margin:6px 0;padding:6px}.sec.draft{background:#fff7c2;border-color:#f0d36b}.sec.ok{background:#eefaf1;border-color:#a8dcb8}.sec input.h{margin-bottom:4px;font-family:inherit;font-weight:700}.sec textarea{font-family:inherit}.sec .row{justify-content:space-between;align-items:center;display:flex}.check{align-items:center;gap:6px;width:auto;display:inline-flex}.check input{width:auto}.note{margin:8px 0}.note b{font-size:14px}.note small{color:#777;display:block}.busy{color:#b06d00;font-size:14px}.err{color:#c00}.muted{color:#777;font-size:13px}.hidden{display:none!important}.overlay{z-index:10;background:#2f5d7c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-card{text-align:center;width:340px}.login-card input{margin:12px 0}.mono{font-family:monospace;font-size:12px}footer{text-align:center;padding:16px}pre{white-space:pre-wrap;background:#f7f7f7;padding:8px;font-size:12px}@media (width<=800px){.grid{grid-template-columns:1fr 1fr}.uploads,.grid2,.preview{grid-template-columns:1fr}}.login-card .login-field{text-align:left;margin:8px 0;font-size:14px;display:block}.login-card .login-field input{width:100%;margin-top:4px}.login-card .small{margin:4px 0 10px;font-size:12px}.hdr-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pill.soft{color:#1a4a7a;background:#eef6ff}a.link.ghost{color:inherit;border:1px solid #ccc;border-radius:6px;padding:4px 10px;text-decoration:none}a.link.ghost.hidden{display:none}.highlight-card{border:2px solid #2f5d7c;box-shadow:0 2px 8px #2f5d7c26}.cta-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}button.cta{background:#1e7a46;border-color:#1e7a46;padding:12px 28px;font-size:18px}button.cta:hover{filter:brightness(1.05)}.tabs{border-bottom:2px solid #d5dee6;gap:4px;max-width:1100px;margin:12px auto 0;padding:0 12px;display:flex}.tab{appearance:none;color:#4a6070;font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;margin:0 0 -2px;padding:10px 16px;font-size:15px;font-weight:600}.tab:hover:not(:disabled){color:#2f5d7c;background:#e8eef3}.tab.active{color:#2f5d7c;background:#fff;border-bottom-color:#2f5d7c}.tab:disabled{opacity:.45;cursor:not-allowed;font-weight:500}.tab-panel{display:none}.tab-panel.active{display:block}.module-banner{max-width:1100px;margin:0 auto 8px;padding:4px 4px 0;font-size:13px}.placeholder-card{flex-direction:column;justify-content:center;min-height:180px;display:flex}table.usage{border-collapse:collapse;width:100%;font-size:13px}table.usage th,table.usage td{text-align:left;border:1px solid #ddd;padding:6px 8px}table.usage th{background:#f5f5f5}table.usage tr.fail td{background:#fff3f3}.bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.create{grid-template-columns:1fr 1fr auto auto;gap:8px;max-width:720px;display:grid}@media (width<=700px){.create{grid-template-columns:1fr}}header a.ghost.link{color:#fff;border-color:#fff;margin-right:8px}.model-picker{flex-direction:column;gap:8px;margin:10px 0 12px;display:flex}.model-opt{cursor:pointer;background:#fafbfc;border:1px solid #cbd2d9;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.model-opt:has(input:checked){background:#eef6ff;border-color:#2f5d7c}.model-opt input{width:auto;margin-top:3px}.model-opt .meta{flex:1}.model-opt .meta b{color:#1a4a7a;font-size:14px;display:block}.model-opt .meta .price{color:#666;margin-top:2px;font-size:12px}.model-opt.disabled{opacity:.55;cursor:not-allowed}.token-est{background:#f0f4f8;border-radius:6px;margin:8px 0;padding:8px 10px;font-size:13px}.token-est.over{color:#8a1010;background:#ffe3e3}.upload-limits{color:#666;margin:4px 0 8px;font-size:12px}.wallet-pill{font-variant-numeric:tabular-nums}.wallet-box{background:#eef6ff;border-radius:8px;margin:8px 0 12px;padding:10px 12px}.wallet-box .big{color:#1a4a7a;font-size:18px;font-weight:600}.topup-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.topup-row input{max-width:180px}.model-select-label{margin:8px 0;font-size:14px;display:block}.model-select-hint{margin:6px 0 0}.model-select{width:100%;max-width:560px;font:inherit;color:#1a4a7a;cursor:pointer;pointer-events:auto;appearance:auto;-webkit-appearance:menulist;z-index:2;background:#fff;border:1px solid #2f5d7c;border-radius:8px;margin-top:6px;padding:9px 10px;font-size:14px;position:relative}.model-select:focus{outline-offset:2px;outline:2px solid #2f5d7c}.model-select-hdr-wrap{pointer-events:auto;z-index:5;align-items:center;margin:0 4px;display:inline-flex}.model-select-hdr{cursor:pointer;pointer-events:auto;appearance:auto;-webkit-appearance:menulist;border:1px solid #9bb8d0;border-radius:10px;flex-shrink:0;width:auto;min-width:240px;max-width:min(480px,70vw);margin:0;padding:5px 10px;font-size:13px;color:#1a4a7a!important;background:#fff!important}.hdr-right{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.model-picker,.model-select-label{pointer-events:auto}
