.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur,25px)) saturate(var(--glass-saturate,180%));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-premium)}.card-ds{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.lang-row{justify-content:center;align-items:center;gap:10px;padding:12px 0 16px;display:flex}.lang-pill{border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--surface);max-width:140px;height:42px;color:var(--text);font-size:14px;font-weight:800;font-family:var(--font-display,"Outfit", sans-serif);box-shadow:var(--shadow-md);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:7px;transition:border-color .2s,box-shadow .2s;display:flex}.lang-pill:hover{border-color:var(--primary);box-shadow:0 4px 20px var(--primary-glow)}.lang-pill .lp-flag{font-size:16px}.lang-pill .lp-arrow{opacity:.5;font-size:9px}.swap-btn{background:var(--primary);color:#fff;cursor:pointer;width:42px;height:42px;box-shadow:0 4px 12px var(--primary-glow);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex}.swap-btn:hover{transform:scale(1.1)rotate(15deg)}.swap-btn:active{transform:scale(.9)rotate(-15deg)}.translate-card{flex-direction:column;gap:14px;padding:16px 18px;display:flex}.ai-badge{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 2px 8px var(--primary-glow);white-space:nowrap;font-size:10px;font-weight:900;font-family:var(--font-display,"Outfit", sans-serif);border-radius:7px;align-items:center;gap:5px;padding:3px 9px;display:inline-flex}.ai-badge .dot{background:#fff;border-radius:50%;flex-shrink:0;width:4px;height:4px;animation:1.5s infinite aiPulse;box-shadow:0 0 4px #fff}@keyframes aiPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.tp-mode-pills{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.tp-mode-pills::-webkit-scrollbar{display:none}.tp-mode-pill{border-radius:var(--radius-full);border:1.5px solid var(--border);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:700;transition:all .12s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.tp-mode-pill:hover{border-color:var(--primary);color:var(--primary)}.tp-mode-pill:active{transform:scale(.94)}.tp-mode-pill.on{color:#fff;box-shadow:0 4px 12px color-mix(in srgb, var(--chip-tone,var(--primary)) 40%, transparent);border-color:#0000;font-weight:800}.tp-input{resize:none;width:100%;font-family:var(--font-display,"Outfit", sans-serif);letter-spacing:-.03em;color:var(--text);background:0 0;border:none;outline:none;min-height:80px;font-size:22px;font-weight:800;line-height:1.4}.tp-input::placeholder{color:var(--text-muted);opacity:.55;font-weight:700}.tp-divider{background:var(--border);height:1px}.tp-output-lao{font-family:var(--font-lao,"Noto Sans Lao", sans-serif);color:var(--primary);font-size:23px;font-weight:700;line-height:1.4}.tp-output-roman{color:var(--text-muted);margin-top:4px;font-family:Outfit,sans-serif;font-size:13px}.tp-streaming{background:var(--primary);vertical-align:middle;border-radius:2px;width:9px;height:22px;animation:1s step-end infinite tpCaret;display:inline-block}@keyframes tpCaret{50%{opacity:0}}.tp-grammar{flex-direction:column;gap:6px;margin-top:12px;display:flex}.tp-gram-row{background:var(--bg-secondary);border-radius:var(--radius-xs);align-items:baseline;gap:10px;padding:7px 11px;display:flex}.tp-gram-w{font-family:var(--font-lao,"Noto Sans Lao", sans-serif);color:var(--primary);font-size:15px;font-weight:700}.tp-gram-g{color:var(--text-secondary);font-size:12.5px;font-weight:600}.tp-example{border-radius:var(--radius-sm);background:var(--bg-secondary);margin-top:12px;padding:12px}.tp-ex-lao{font-family:var(--font-lao,"Noto Sans Lao", sans-serif);color:var(--text);margin-top:5px;font-size:16px;font-weight:600}.tp-ex-zh{color:var(--text-secondary);margin-top:3px;font-size:13px}.tp-tip{color:var(--text-secondary);margin-top:10px;font-size:12.5px;font-weight:600;line-height:1.5}.tp-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.round-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:#7f5ac814;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.round-btn:hover{color:var(--primary);background:var(--primary-soft)}.round-btn:active{transform:scale(.88)}.round-btn.fav.on{color:var(--fav-color)}.round-btn.cam{background:var(--primary-soft);color:var(--primary)}.round-btn.cam:hover{background:var(--primary);color:#fff}.tp-ai-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:14px;font-weight:500;line-height:1.7}.tp-versions{flex-direction:column;gap:12px;margin-top:14px;display:flex}.tp-ver-card{padding:14px 16px}.tp-ver-tag{border-radius:var(--radius-full);color:#fff;padding:4px 11px;font-size:11.5px;font-weight:800;display:inline-block}.tp-ver-zh{color:var(--text-secondary);margin-top:5px;font-size:13.5px;font-weight:600}.btn{font-family:var(--font-display,"Outfit", sans-serif);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;font-weight:800;transition:all .12s cubic-bezier(.34,1.56,.64,1);display:inline-flex}.btn:active{transform:scale(.95)}.btn-grad{background:var(--hero-grad);color:#fff;border-radius:var(--radius-full);box-shadow:0 6px 20px var(--primary-glow);padding:14px 24px;font-size:15px}.btn-grad:hover{filter:brightness(1.05)}.btn-grad:disabled{opacity:.65;cursor:not-allowed;transform:none}.btn-soft{background:var(--primary-soft);color:var(--primary);border-radius:var(--radius-full);padding:13px 22px;font-size:15px}.btn-block{width:100%}.section-title{font-family:var(--font-display,"Outfit", sans-serif);color:var(--text);align-items:center;gap:7px;margin:18px 2px 11px;font-size:15px;font-weight:800;display:flex}.section-title .more{color:var(--primary);cursor:pointer;margin-left:auto;font-size:12px;font-weight:700}.lt-caps{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.ds-translate-page{min-height:100%;padding:8px 16px 120px}
