:root{--tg-bg: #17212b;--tg-bg-2: #212d3b;--tg-bg-3: #2b5278;--tg-surface: #182533;--tg-bubble: #2b5278;--tg-bubble-meta: #6a91b8;--tg-text: #ffffff;--tg-text-muted: #708499;--tg-accent: #5288c1;--tg-accent-hover: #6ba1d8;--tg-divider: #243447;--tg-error: #e57373;--radius: 14px;--radius-sm: 8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--tg-bg);color:var(--tg-text);min-height:100vh}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.4}button{font-family:inherit}.app{max-width:480px;margin:0 auto;padding:12px 12px 80px;display:flex;flex-direction:column;gap:14px}.tg-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--tg-bg-2);border-radius:var(--radius);position:sticky;top:8px;z-index:10;box-shadow:0 2px 6px #00000040}.tg-header h1{font-size:16px;font-weight:600;margin:0;letter-spacing:.2px}.tg-header .subtitle{font-size:12px;color:var(--tg-text-muted);margin-top:2px}.card{background:var(--tg-bg-2);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:12px}.section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--tg-accent);margin:0}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--tg-text-muted);font-weight:500}.row{display:flex;gap:8px}.row>*{flex:1 1 0}input[type=date],input[type=text]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--tg-surface);color:var(--tg-text);border:1px solid var(--tg-divider);border-radius:var(--radius-sm);padding:10px 12px;font-size:15px;width:100%;transition:border-color .15s ease}input.chip-search{padding:8px 12px 8px 32px;font-size:13px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23708499' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='7'/><path d='m20 20-3-3'/></svg>");background-repeat:no-repeat;background-position:10px center;background-size:14px 14px}input.chip-search::placeholder{color:var(--tg-text-muted)}.chip-empty{font-size:12px;color:var(--tg-text-muted);padding:8px 4px}.view-more{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--tg-accent);font-size:13px;font-weight:500;font-family:inherit;padding:6px 4px;cursor:pointer;align-self:flex-start}.view-more:hover{color:var(--tg-accent-hover)}.back-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:flex-start;background:transparent;border:none;color:var(--tg-accent);font-size:14px;font-weight:500;font-family:inherit;padding:6px 10px 6px 4px;cursor:pointer;border-radius:var(--radius-sm);transition:background .12s ease,color .12s ease}.back-btn:hover{background:#5288c11f;color:var(--tg-accent-hover)}.format-toggle{display:flex;gap:4px;background:var(--tg-bg-2);border-radius:var(--radius);padding:4px}.format-btn{flex:1 1 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--tg-text-muted);padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;font-family:inherit}.format-btn.active{background:var(--tg-accent);color:#fff}.caption-block{display:flex;flex-direction:column;gap:8px}.caption-meta{font-size:11px;color:var(--tg-text-muted);text-transform:uppercase;letter-spacing:.5px}.caption-text{margin:0;font-family:inherit;font-size:13px;line-height:1.45;color:var(--tg-text);background:var(--tg-bg-2);padding:12px 14px;border-radius:var(--radius-sm);white-space:pre-wrap;max-height:280px;overflow:auto}.caption-actions{display:flex;gap:8px;flex-direction:column}.rewrite-panel{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--tg-bg-2);border:1px solid var(--tg-accent);border-radius:var(--radius-sm)}.rewrite-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--tg-text-muted)}.rewrite-suggestions{display:flex;flex-wrap:wrap;gap:6px}.rewrite-actions{display:flex;gap:8px;justify-content:flex-end}.slide-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.slide-stage{display:flex;flex-direction:column;gap:12px}.slide-stage-title{font-size:13px;font-weight:600;color:var(--tg-text);text-align:center}.slide-stage-frame{position:relative;width:100%;border-radius:14px;overflow:hidden;background:#efefef}.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:999px;border:none;background:#00000080;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:5;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .12s ease}.slide-arrow:hover{background:#000000ad}.slide-arrow-left{left:10px}.slide-arrow-right{right:10px}.slide-dots{display:flex;gap:6px;justify-content:center}.slide-dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;width:8px;height:8px;border-radius:999px;background:var(--tg-divider);cursor:pointer;padding:0;transition:background .15s ease,width .15s ease}.slide-dot.active{background:var(--tg-accent);width:22px}.slide-toolbar{display:flex;gap:8px;justify-content:center}.slide-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--tg-surface);color:var(--tg-text);width:32px;height:32px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.slide-icon-btn:hover{background:var(--tg-bubble)}.slide-icon-btn-danger:hover{background:#e573732e;color:var(--tg-error)}.slide-frame{position:relative;overflow:hidden;border-radius:14px;background:#efefef;align-self:flex-start}.slide-inner{position:absolute;top:0;left:0;transform-origin:top left}.slide-add{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;background:var(--tg-surface);border:1px dashed var(--tg-divider);color:var(--tg-text);border-radius:var(--radius-sm);padding:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;transition:border-color .15s ease,background .15s ease}.slide-add:hover{border-color:var(--tg-accent);background:#5288c114}.slide-add:disabled{opacity:.5;cursor:not-allowed}.slide-picker{display:flex;flex-direction:column;gap:12px;background:var(--tg-bg-2);padding:14px;border-radius:var(--radius-sm);border:1px solid var(--tg-accent)}.slide-picker-row{display:flex;align-items:center;gap:12px}.slide-picker-label{font-size:12px;color:var(--tg-text-muted);font-weight:500;flex-shrink:0}.slide-picker-select{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--tg-surface);color:var(--tg-text);border:1px solid var(--tg-divider);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;font-family:inherit}.slide-picker-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow:auto}.slide-picker-item{display:flex;gap:10px;align-items:flex-start;padding:8px;border-radius:6px;cursor:pointer;transition:background .12s ease}.slide-picker-item:hover{background:#ffffff0a}.slide-picker-item.active{background:#5288c12e}.slide-picker-title{font-size:13px;color:var(--tg-text)}.slide-picker-meta{font-size:11px;color:var(--tg-text-muted);margin-top:2px}.slide-picker-actions{display:flex;gap:8px;justify-content:flex-end}.history-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{background:var(--tg-surface);border:1px solid var(--tg-divider);border-radius:var(--radius-sm);overflow:hidden}.history-item.open{border-color:var(--tg-accent)}.history-row{display:flex;align-items:stretch}.history-summary{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;background:transparent;border:none;color:inherit;font-family:inherit;text-align:left;padding:10px;display:flex;gap:12px;align-items:center;cursor:pointer;min-width:0}.history-summary:hover{background:#ffffff08}.history-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:36px;background:transparent;border:none;border-left:1px solid var(--tg-divider);color:var(--tg-text-muted);font-size:14px;font-family:inherit;cursor:pointer;transition:background .12s ease,color .12s ease}.history-remove:hover{background:#e573731f;color:var(--tg-error)}.history-thumb{width:44px;height:56px;object-fit:cover;border-radius:6px;background:#efefef;flex-shrink:0}.history-text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.history-label{font-size:13px;font-weight:500;color:var(--tg-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-meta{font-size:11px;color:var(--tg-text-muted);display:inline-flex;align-items:center;flex-wrap:wrap;gap:0}.history-meta-source{display:inline-flex;align-items:center;gap:4px}.history-meta-rewrite{display:inline-flex;align-items:center;gap:3px;color:var(--tg-accent);font-weight:500}.history-carousel{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.history-carousel-slide{position:relative;flex-shrink:0;width:60%;max-width:240px;scroll-snap-align:start;border-radius:12px;overflow:hidden;background:#efefef}.history-carousel-slide img{display:block;width:100%;height:auto}.history-carousel-download{position:absolute;top:6px;right:6px;width:30px;height:30px;border-radius:8px}.history-detail-actions{display:flex;gap:8px;flex-direction:column}.history-detail{padding:10px 12px 14px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--tg-divider)}.bubble-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px;z-index:4}.bubble-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;border:none;border-radius:10px;background:#00000073;color:#fff;font-size:17px;font-family:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,transform .08s ease;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.bubble-action:hover{background:#0000009e}.bubble-action:active{transform:scale(.94)}.bubble-action:disabled{opacity:.5;cursor:not-allowed}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}input:focus{outline:none;border-color:var(--tg-accent)}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--tg-divider);background:var(--tg-surface);color:var(--tg-text);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease;display:inline-flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none;max-width:100%;min-width:0;white-space:nowrap}.chip>.chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.chip:hover{border-color:var(--tg-accent)}.chip:active{transform:scale(.96)}.chip.active{background:var(--tg-accent);border-color:var(--tg-accent)}.chip.region{background:transparent;border-style:dashed}.chip.region.active{background:var(--tg-bubble);border-style:solid;border-color:var(--tg-accent)}.toggle{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--tg-text);-webkit-user-select:none;user-select:none;cursor:pointer}.toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:20px;background:var(--tg-divider);border-radius:999px;position:relative;cursor:pointer;transition:background .15s ease;flex-shrink:0}.toggle input:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .15s ease}.toggle input:checked{background:var(--tg-accent)}.toggle input:checked:after{transform:translate(16px)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:var(--tg-accent);color:#fff;font-weight:600;font-size:15px;padding:12px 16px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,transform .1s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{background:var(--tg-accent-hover)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn.secondary{background:var(--tg-surface);border:1px solid var(--tg-divider)}.btn.ghost{background:transparent;border:1px solid var(--tg-divider);font-weight:500}.error{background:#e573731f;color:var(--tg-error);border:1px solid rgba(229,115,115,.3);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px}.tg-preview{display:flex;flex-direction:column;gap:8px}.tg-meta{font-size:12px;color:var(--tg-text-muted);display:flex;justify-content:space-between;align-items:center;padding:0 4px}.tg-bubble{background:var(--tg-bubble);color:var(--tg-text);padding:12px 14px;border-radius:16px 16px 4px;align-self:flex-end;max-width:100%;font-size:14.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji",sans-serif;box-shadow:0 1px 2px #0003}.tg-bubble-with-image{padding:0;overflow:hidden;position:relative}.tg-bubble-image{display:block;width:100%;height:auto;background:var(--tg-bg-2)}.tg-bubble-image-loading{aspect-ratio:1080 / 690;display:flex;align-items:center;justify-content:center;font-size:12px;color:#ffffffb3;letter-spacing:.3px;background:#ffffff0a}.tg-bubble-text{padding:10px 14px 12px;white-space:pre-wrap;word-wrap:break-word}.tg-bubble strong{font-weight:700}.tg-bubble a{color:#aed6ff;text-decoration:none}.tg-empty{text-align:center;color:var(--tg-text-muted);padding:24px 12px;font-size:14px}.copy-toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--tg-bubble);color:#fff;padding:10px 20px;border-radius:999px;font-size:13px;font-weight:500;box-shadow:0 4px 12px #0006;animation:toast-in .2s ease;z-index:100}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.summary{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--tg-text-muted)}.summary span{background:var(--tg-surface);border:1px solid var(--tg-divider);border-radius:999px;padding:4px 10px}.country-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}@media (min-width: 600px){.app{padding:24px}}.tabs{display:flex;gap:4px;background:var(--tg-bg-2);border-radius:var(--radius);padding:4px}.tab{flex:1 1 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--tg-text-muted);padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:6px}.tab.active{background:var(--tg-accent);color:#fff}.tab-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;min-width:20px;height:20px;border-radius:999px;background:#ffffff2e;color:inherit;font-size:11px;font-weight:600;padding:0 6px}.tab.active .tab-badge{background:#ffffff4d}.tab:not(.active):hover{background:var(--tg-surface);color:var(--tg-text)}.ai-panel{display:flex;flex-direction:column;gap:14px}textarea.ai-prompt{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;min-height:110px;resize:vertical;font-family:inherit;font-size:15px;line-height:1.4;background:var(--tg-surface);color:var(--tg-text);border:1px solid var(--tg-divider);border-radius:var(--radius-sm);padding:12px 14px;transition:border-color .15s ease;box-sizing:border-box}textarea.ai-prompt:focus{outline:none;border-color:var(--tg-accent)}textarea.ai-prompt::placeholder{color:var(--tg-text-muted)}.suggestion-row{display:flex;flex-wrap:wrap;gap:6px}.ai-interpretation{font-size:12px;color:var(--tg-text-muted);padding:8px 10px;background:var(--tg-surface);border:1px solid var(--tg-divider);border-radius:var(--radius-sm);line-height:1.4}.ai-interpretation span{color:var(--tg-accent);font-weight:600;margin-right:4px}.badge-row{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:var(--tg-bubble);color:var(--tg-text);border:1px solid rgba(255,255,255,.08);padding:5px 10px;border-radius:999px;max-width:100%;min-width:0;white-space:nowrap}.badge-icon{font-size:14px;line-height:1}.badge-row .label{font-size:11px;color:var(--tg-text-muted);text-transform:uppercase;letter-spacing:.5px;align-self:center;margin-right:4px}.followup-row{display:flex;flex-direction:column;gap:6px}.followup-label{font-size:11px;color:var(--tg-text-muted);text-transform:uppercase;letter-spacing:.5px}.poster-preview{position:relative;width:100%;border-radius:14px;overflow:hidden;background:#efefef;box-shadow:0 1px 2px #0003}.variant-picker{display:flex;flex-direction:column;gap:8px}.variant-label{font-size:11px;color:var(--tg-text-muted);text-transform:uppercase;letter-spacing:.5px}.variant-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.variant-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--tg-bg-2);border:2px solid transparent;border-radius:12px;padding:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px;align-items:center;font-family:inherit}.variant-cell.active{border-color:var(--tg-accent)}.variant-cell:hover{border-color:var(--tg-bubble)}.variant-frame{position:relative;overflow:hidden;border-radius:8px;background:#efefef}.variant-inner{position:absolute;top:0;left:0;transform-origin:top left}.variant-caption{font-size:10px;color:var(--tg-text-muted);text-align:center}.poster-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--tg-text-muted);font-size:12px;letter-spacing:.3px}.poster-source{position:fixed;left:-10000px;top:0;pointer-events:none;opacity:1}
