:root{--ink:#1d2433;--muted:#697386;--paper:#f7f8fc;--panel:#fff;--line:#e5e8f0;--accent:#5865f2;--accent-ink:#fff;--green:#0d8b63;--amber:#d98a08;--red:#c03c4f;--shadow:0 12px 35px rgba(34,45,80,.08)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:9px;padding:.65rem .85rem;color:var(--ink)}button:hover{border-color:#b8c0d5}button:disabled{cursor:wait;opacity:.6}a{color:var(--accent);text-decoration:none}label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.88rem;color:var(--muted)}input,select,textarea{min-width:0;padding:.65rem .75rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}textarea{resize:vertical}h1,h2,p{margin-top:0}h1{font-size:clamp(2rem,5vw,4rem);letter-spacing:-.055em;margin-bottom:.6rem}h2{letter-spacing:-.025em;margin-bottom:.55rem}small{color:var(--muted)}.tg-shell{min-height:100vh;padding:calc(14px + env(safe-area-inset-top)) 14px calc(30px + env(safe-area-inset-bottom));background:var(--tg-theme-secondary-bg-color,#f5f6fa);color:var(--tg-theme-text-color,#171b27)}.tg-shell button{touch-action:manipulation}.tg-book-header,.tg-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.tg-book-header h1,.tg-header h1{margin:3px 0 0;color:var(--tg-theme-text-color,#171b27);font-size:1.45rem;letter-spacing:-.035em}.tg-book-header small,.tg-header small{color:var(--tg-theme-hint-color,#747c8e)}.tg-avatar{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:15px;font-size:1.35rem;background:linear-gradient(145deg,#6c63ff,#8868d8);box-shadow:0 8px 20px rgba(88,78,205,.25)}.tg-book-header{justify-content:flex-start}.tg-book-header>div{flex:1 1;min-width:0}.tg-book-header>button{flex:0 0 42px;height:42px;padding:0;color:var(--tg-theme-text-color,#171b27);border-color:color-mix(in srgb,var(--tg-theme-hint-color,#747c8e) 22%,transparent);border-radius:14px;background:var(--tg-theme-bg-color,#fff);font-size:2rem;line-height:1}.tg-book-header>.tg-delete-book{margin-left:auto;color:#d9576a;font-size:1rem}.tg-source-form{display:grid;grid-gap:10px;gap:10px;padding:14px;border-radius:18px;background:var(--tg-theme-bg-color,#fff);box-shadow:0 8px 25px rgba(26,33,55,.07)}.tg-source-form input,.tg-source-form textarea{color:var(--tg-theme-text-color,#171b27);border-color:color-mix(in srgb,var(--tg-theme-hint-color,#747c8e) 25%,transparent);background:var(--tg-theme-secondary-bg-color,#edf0f6)}.tg-source-form input::placeholder,.tg-source-form textarea::placeholder{color:var(--tg-theme-hint-color,#747c8e)}.tg-source-tabs{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:5px;gap:5px;padding:4px;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#edf0f6)}.tg-source-tabs button{min-height:38px;padding:6px;border:0;background:transparent;color:var(--tg-theme-hint-color,#697386);font-size:.8rem;font-weight:700}.tg-source-tabs button.active{color:var(--tg-theme-text-color,#171b27);background:var(--tg-theme-bg-color,#fff);box-shadow:0 2px 8px rgba(25,33,55,.09)}.tg-source-form>small{color:var(--tg-theme-hint-color,#747c8e);font-size:.75rem;line-height:1.4}.tg-source-form textarea{min-height:180px;line-height:1.45}.tg-upload{display:grid;grid-gap:10px;gap:10px;padding:13px;border:1px dashed color-mix(in srgb,var(--tg-theme-hint-color,#747c8e) 35%,transparent);border-radius:14px}.tg-upload.selected{border-style:solid;border-color:color-mix(in srgb,#0d8b63 50%,transparent);background:color-mix(in srgb,#0d8b63 8%,var(--tg-theme-bg-color,#fff))}.tg-upload input{position:absolute;opacity:0;pointer-events:none}.tg-upload label{display:grid;align-content:center;grid-gap:3px;gap:3px;min-height:48px;color:var(--tg-theme-text-color,#171b27);cursor:pointer}.tg-upload.selected label>strong{color:#087350}.tg-upload label span{color:var(--tg-theme-hint-color,#747c8e);font-size:.78rem}.tg-upload label .tg-upload-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tg-theme-text-color,#171b27);font-weight:700}.tg-upload label em{color:#087350;font-size:.72rem;font-style:normal}.tg-generate-all,.tg-primary{border:0;color:var(--tg-theme-button-text-color,#fff);background:var(--tg-theme-button-color,#5865f2);font-weight:750}.tg-primary{align-self:center}.tg-source-submit{width:100%;min-height:46px}.tg-generate-all{position:-webkit-sticky;position:sticky;top:8px;z-index:3;width:100%;min-height:52px;margin:0 0 14px;border-radius:15px;box-shadow:0 9px 24px rgba(65,81,214,.25)}.tg-section{margin-top:22px}.tg-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 4px 10px}.tg-section-title h2{margin:0;font-size:1.02rem}.tg-section-title span{color:var(--tg-theme-hint-color,#747c8e);font-size:.78rem}.tg-books,.tg-chapters{display:grid;grid-gap:9px;gap:9px}.tg-book-card{width:100%;display:grid;grid-template-columns:50px minmax(0,1fr) auto;grid-gap:11px;gap:11px;align-items:center;padding:11px;color:var(--tg-theme-text-color,#171b27);text-align:left;border:0;border-radius:16px;background:var(--tg-theme-bg-color,#fff)}.tg-cover{display:grid;place-items:center;width:50px;height:62px;border-radius:10px;background:linear-gradient(145deg,#ebe8ff,#d9e4ff);font-size:1.35rem}.tg-book-card>span:nth-child(2){display:grid;min-width:0;grid-gap:3px;gap:3px}.tg-book-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tg-book-card small{color:var(--tg-theme-hint-color,#747c8e)}.tg-book-card em{width:max-content;padding:3px 7px;border-radius:99px;background:#e3f5ed;color:#087350;font-size:.68rem;font-style:normal}.tg-book-card b{color:var(--tg-theme-hint-color,#9ba1af);font-size:1.6rem;font-weight:400}.tg-empty,.tg-processing{display:grid;justify-items:center;text-align:center;grid-gap:7px;gap:7px;padding:34px 20px;color:var(--tg-theme-text-color,#171b27);border-radius:18px;background:var(--tg-theme-bg-color,#fff)}.tg-empty>span{font-size:2rem}.tg-empty h3,.tg-empty p{margin:0}.tg-empty p,.tg-processing span{max-width:290px;color:var(--tg-theme-hint-color,#747c8e);font-size:.84rem;line-height:1.45}.tg-voice{display:grid;grid-template-columns:42px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;margin-bottom:12px;padding:12px;border-radius:16px;background:var(--tg-theme-bg-color,#fff)}.tg-voice>span{display:grid;place-items:center;height:42px;border-radius:12px;background:#eeeaff}.tg-voice div{display:grid;grid-gap:3px;gap:3px}.tg-voice small{color:var(--tg-theme-hint-color,#747c8e)}.tg-voice select{width:100%;padding:3px 24px 3px 0;overflow:hidden;text-overflow:ellipsis;border:0;background:transparent;font-weight:750}.tg-characters,.tg-voice select{color:var(--tg-theme-text-color,#171b27)}.tg-characters{margin:0 0 12px;border-radius:16px;background:var(--tg-theme-bg-color,#fff)}.tg-characters summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none}.tg-characters summary::-webkit-details-marker{display:none}.tg-characters summary>span{display:grid;grid-gap:2px;gap:2px}.tg-characters summary small,.tg-characters-body label small,.tg-characters-body p{color:var(--tg-theme-hint-color,#747c8e);font-size:.78rem}.tg-characters summary>b{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:99px;color:var(--tg-theme-button-color,#2481cc);background:color-mix(in srgb,var(--tg-theme-button-color,#2481cc) 12%,transparent);font-size:.75rem}.tg-characters-body{display:grid;grid-gap:10px;gap:10px;padding:0 14px 14px}.tg-characters-body p{margin:0;line-height:1.45}.tg-characters-body label{display:grid;grid-gap:6px;gap:6px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--tg-theme-hint-color,#747c8e) 16%,transparent)}.tg-characters-body label>span{display:grid;grid-gap:2px;gap:2px}.tg-characters-body select{width:100%;padding:10px 12px;color:var(--tg-theme-text-color,#171b27);border:1px solid color-mix(in srgb,var(--tg-theme-hint-color,#747c8e) 24%,transparent);border-radius:11px;background:var(--tg-theme-secondary-bg-color,#f3f4f7)}.tg-chapter{padding:12px;border-radius:16px;background:var(--tg-theme-bg-color,#fff)}.tg-chapter>div:first-child{display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center}.tg-chapter>div:first-child span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--tg-theme-secondary-bg-color,#edf0f6);color:var(--tg-theme-hint-color,#697386);font-size:.74rem}.tg-chapter strong{font-size:.88rem;line-height:1.25}.tg-chapter-actions{display:flex;gap:8px;margin-top:10px}.tg-chapter-actions button{flex:1 1;color:var(--tg-theme-link-color,#4c5de4);background:transparent;border-color:color-mix(in srgb,var(--tg-theme-link-color,#4c5de4) 25%,transparent)}.tg-error{margin:10px 0;padding:10px 12px;border-radius:12px;background:#ffe8ec;color:#a92138;font-size:.84rem}.tg-center{min-height:100vh;display:grid;place-content:center;justify-items:center;grid-gap:10px;gap:10px;padding:25px;color:var(--tg-theme-text-color,#171b27);text-align:center;background:var(--tg-theme-secondary-bg-color,#f5f6fa)}.tg-center h1,.tg-center p{margin:0}.tg-loader{width:28px;height:28px;border:3px solid color-mix(in srgb,var(--tg-theme-hint-color,#747c8e) 28%,transparent);border-top-color:var(--tg-theme-button-color,#5865f2);border-radius:50%;animation:tg-spin .8s linear infinite}@keyframes tg-spin{to{transform:rotate(1turn)}}.tg-shell-with-player{padding-bottom:calc(190px + env(safe-area-inset-bottom))}.tg-player{position:fixed;z-index:20;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));display:grid;grid-gap:7px;gap:7px;padding:12px 14px;color:#fff;background:rgba(24,28,47,.97);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 15px 45px rgba(8,11,25,.35);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tg-player-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.tg-player-heading>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.tg-player-heading small{color:#adb5d0;font-size:.68rem}.tg-player-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.tg-player-heading>button{flex:0 0 30px;height:30px;padding:0;color:#cbd1e3;border:0;background:transparent;font-size:1.4rem}.tg-player>input[type=range]{width:100%;padding:0;accent-color:var(--tg-theme-button-color,#7380ff)}.tg-player-time{display:flex;justify-content:space-between;color:#aeb6ce;font-size:.67rem}.tg-player-controls{display:grid;grid-template-columns:42px 52px 42px 1fr;justify-content:center;grid-gap:8px;gap:8px}.tg-player-controls button,.tg-player-controls select{min-height:38px;padding:5px;color:#fff;border-color:#414861;background:#2c324a}.tg-player-controls .tg-player-toggle{color:#171b27;border:0;background:#fff;font-size:1.05rem}.tg-player-controls select{justify-self:end;min-width:68px}.tg-native-audio{position:fixed;width:1px;height:1px;opacity:.001;pointer-events:none}.tg-player-heading select{width:min(75vw,520px);padding:2px 0;overflow:hidden;text-overflow:ellipsis;color:#fff;border:0;background:transparent;font-weight:750}.tg-player-actions{display:flex;gap:7px}.tg-player-actions a,.tg-player-actions button{flex:1 1;display:grid;place-items:center;min-height:34px;padding:5px 8px;color:#fff;border:1px solid #414861;border-radius:9px;background:#2c324a;font-size:.76rem}.tg-player-building{flex:1 1;align-self:center;color:#b8c0d8;font-size:.72rem;line-height:1.3}.tg-player-mini{position:fixed;z-index:20;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;padding:10px 12px;color:#fff;border:0;border-radius:15px;background:rgba(24,28,47,.97);box-shadow:0 12px 35px rgba(8,11,25,.3)}.tg-player-mini strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-size:.8rem}.tg-player-mini small{color:#b8c0d8}.tg-select-all{padding:3px 7px;color:var(--tg-theme-link-color,#4c5de4);border:0;background:transparent;font-size:.75rem}.tg-chapter.current{outline:2px solid color-mix(in srgb,var(--tg-theme-link-color,#4c5de4) 35%,transparent)}.tg-chapter input[type=checkbox]{width:24px;height:24px;padding:0;accent-color:var(--tg-theme-button-color,#5865f2)}.tg-chapter>small{display:block;margin:8px 0 0 36px}.tg-generation-progress{display:grid!important;grid-gap:5px;gap:5px}.tg-generation-progress progress{width:100%;height:6px;overflow:hidden;border:0;border-radius:999px;accent-color:var(--tg-theme-button-color,#5865f2)}.tg-generation-progress progress::-webkit-progress-bar{border-radius:999px;background:#dce1ef}.tg-generation-progress progress::-webkit-progress-value{border-radius:999px;background:var(--tg-theme-button-color,#5865f2)}.tg-notice,.tg-queue{margin:10px 0;padding:10px 12px;border-radius:12px;background:#e8edff;color:#3446ae;font-size:.82rem}.tg-notice{background:#e3f5ed;color:#087350}.tg-pronunciation{margin-bottom:12px;overflow:hidden;border-radius:16px;background:var(--tg-theme-bg-color,#fff)}.tg-pronunciation>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px;cursor:pointer;list-style:none}.tg-pronunciation>summary::-webkit-details-marker{display:none}.tg-pronunciation>summary span{display:grid;grid-gap:2px;gap:2px}.tg-pronunciation>summary small{color:var(--tg-theme-hint-color,#747c8e);font-size:.75rem}.tg-pronunciation>summary b{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:9px;background:var(--tg-theme-secondary-bg-color,#edf0f6);color:var(--tg-theme-hint-color,#697386);font-size:.75rem}.tg-pronunciation-body{display:grid;grid-gap:10px;gap:10px;padding:0 13px 13px;border-top:1px solid color-mix(in srgb,var(--tg-theme-hint-color,#747c8e) 15%,transparent)}.tg-pronunciation-body>p{margin:11px 0 0;color:var(--tg-theme-hint-color,#747c8e);font-size:.78rem;line-height:1.45}.tg-pronunciation-body form{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:7px;gap:7px;align-items:center}.tg-pronunciation-body form input{color:var(--tg-theme-text-color,#171b27);border-color:color-mix(in srgb,var(--tg-theme-hint-color,#747c8e) 25%,transparent);background:var(--tg-theme-secondary-bg-color,#edf0f6)}.tg-pronunciation-body form button{grid-column:1/-1}.tg-pronunciation-list{display:grid;grid-gap:6px;gap:6px}.tg-pronunciation-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:10px;background:var(--tg-theme-secondary-bg-color,#f0f2f7)}.tg-pronunciation-list span{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-width:0}.tg-pronunciation-list strong{overflow-wrap:anywhere;font-size:.8rem}.tg-pronunciation-list b{color:var(--tg-theme-hint-color,#747c8e)}.tg-pronunciation-list button{flex:0 0 30px;height:30px;padding:0;color:#d9576a;background:transparent}.tg-sheet-backdrop{position:fixed;z-index:40;inset:0;display:flex;align-items:flex-end;padding-top:env(safe-area-inset-top);background:rgba(10,14,28,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.tg-text-sheet{width:100%;max-height:92vh;display:flex;flex-direction:column;gap:10px;padding:16px 14px calc(16px + env(safe-area-inset-bottom));overflow:auto;color:var(--tg-theme-text-color,#171b27);border-radius:22px 22px 0 0;background:var(--tg-theme-bg-color,#fff);box-shadow:0 -15px 45px rgba(8,11,25,.25)}.tg-text-sheet>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tg-text-sheet h2{margin:2px 0 0;font-size:1.15rem}.tg-text-sheet>header>button{flex:0 0 36px;height:36px;padding:0;color:var(--tg-theme-text-color,#171b27);border:0;background:transparent;font-size:1.5rem}.tg-text-loading{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:40px 0}.tg-text-meta{display:flex;gap:7px}.tg-text-meta span{padding:4px 8px;border-radius:99px;background:var(--tg-theme-secondary-bg-color,#edf0f6);color:var(--tg-theme-hint-color,#697386);font-size:.7rem}.tg-chapter-text,.tg-model-text article{white-space:pre-wrap;overflow-wrap:anywhere;font-family:Georgia,serif;font-size:1rem;line-height:1.65}.tg-model-text{padding:10px;border-radius:12px;background:var(--tg-theme-secondary-bg-color,#f0f2f7)}.tg-model-text summary{cursor:pointer;color:var(--tg-theme-link-color,#4c5de4);font-size:.8rem;font-weight:700}.tg-model-text article{margin-top:10px;font-size:.9rem}.tg-rebuild{width:100%;color:#9f5b00;border-color:#edc477;background:#fff6df}@media (max-width:390px){.tg-voice{grid-template-columns:42px 1fr}.tg-voice audio{grid-column:1/-1}}