*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.relative{position:relative}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.\!hidden{display:none!important}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--tg-bg: #f3f5f7;--tg-text: #0a0a0a;--tg-hint: #8e96a1;--tg-link: #2778d6;--tg-button: #2778d6;--tg-button-text: #ffffff;--tg-secondary-bg: #ffffff;--tf-content-safe-top: 0px;--font-ui: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--r-full: 999px;--ease-out: cubic-bezier(.22, .95, .32, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}@media (prefers-color-scheme: dark){:root{--tg-bg: #17212b;--tg-text: #f5f5f5;--tg-hint: #8e96a1;--tg-link: #5fa8ff;--tg-button: #5fa8ff;--tg-button-text: #ffffff;--tg-secondary-bg: #232e3c}}.tf-app{--bg: var(--tg-bg);--bg-elev: var(--tg-bg);--surface: var(--tg-secondary-bg);--surface-2: color-mix(in oklab, var(--tg-secondary-bg) 92%, var(--tg-text));--surface-hi: color-mix(in oklab, var(--tg-secondary-bg) 83%, var(--tg-text));--border: color-mix(in oklab, var(--tg-hint) 48%, transparent);--border-soft: color-mix(in oklab, var(--tg-hint) 24%, transparent);--text: var(--tg-text);--text-mid: color-mix(in oklab, var(--tg-text) 68%, var(--tg-hint));--hint: var(--tg-hint);--muted: color-mix(in oklab, var(--tg-hint) 62%, var(--tg-bg));--accent: var(--tg-button);--accent-soft: color-mix(in oklab, var(--tg-button) 16%, transparent);--accent-glow: color-mix(in oklab, var(--tg-button) 34%, transparent);--accent-text: var(--tg-link);--accent-on: var(--tg-button-text);font-family:var(--font-ui);font-feature-settings:"ss01","cv11";background:var(--bg);color:var(--text);height:100%;width:100%;overflow:hidden;display:flex;flex-direction:column;letter-spacing:-.005em;position:relative}.tf-app,.tf-app[data-theme=dark]{--danger: oklch(.68 .18 24);--danger-soft: oklch(.68 .18 24 / .15);--success: oklch(.72 .15 158);--warn: oklch(.8 .14 80);--warn-soft: oklch(.8 .14 80 / .18);--shadow-card: 0 1px 0 oklch(1 0 0 / .04) inset, 0 8px 24px -12px rgba(0, 0, 0, .55), 0 2px 4px -1px rgba(0, 0, 0, .35);--shadow-pop: 0 1px 0 oklch(1 0 0 / .05) inset, 0 18px 48px -16px rgba(0, 0, 0, .6);--shadow-nav: 0 -8px 24px -12px rgba(0, 0, 0, .5);--photo-fallback: linear-gradient(135deg, oklch(.32 .04 268), oklch(.22 .02 268));color-scheme:dark}.tf-app[data-theme=light]{--danger: oklch(.55 .2 24);--danger-soft: oklch(.55 .2 24 / .12);--success: oklch(.55 .16 158);--warn: oklch(.65 .16 80);--warn-soft: oklch(.65 .16 80 / .15);--shadow-card: 0 1px 0 oklch(1 0 0 / .5) inset, 0 6px 18px -10px rgba(20, 18, 40, .18), 0 1px 2px rgba(20, 18, 40, .06);--shadow-pop: 0 16px 40px -16px rgba(20, 18, 40, .2);--shadow-nav: 0 -8px 24px -16px rgba(20, 18, 40, .12);--photo-fallback: linear-gradient(135deg, oklch(.92 .02 268), oklch(.86 .025 268));color-scheme:light}.tf-app,.tf-app *{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}.tf-fullcenter{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.tf-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-top:calc(env(safe-area-inset-top,0px) + var(--tf-content-safe-top, 0px));padding-bottom:calc(90px + env(safe-area-inset-bottom,0px));scroll-behavior:smooth}.tf-scroll::-webkit-scrollbar{display:none}.tf-scroll{scrollbar-width:none}.tf-pageheader{padding:14px 18px 8px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.tf-pageheader h1{font:700 28px/1.05 var(--font-ui);letter-spacing:-.025em;margin:0}.tf-pageheader .subtitle{font:500 12px/1.2 var(--font-ui);color:var(--hint);margin-top:4px;display:flex;align-items:center;gap:6px}.tf-iconbtn{width:38px;height:38px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border-soft);color:var(--text-mid);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s var(--ease-spring),background .15s,color .15s}.tf-iconbtn:active{transform:scale(.92)}.tf-iconbtn:hover{color:var(--text);background:var(--surface-2)}.tf-iconbtn:disabled{opacity:.45;cursor:default}.tf-iconbtn[data-variant=danger]{color:var(--danger)}.tf-iconbtn[data-variant=danger]:hover{background:var(--danger-soft);color:var(--danger)}.tf-tabbar{position:absolute;inset:auto 0 0 0;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;background:var(--bg-elev);border-top:1px solid var(--border-soft);z-index:5}.tf-tabbar:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:28px;background:linear-gradient(to top,var(--bg-elev),transparent);pointer-events:none}.tf-tab-pill{position:absolute;top:10px;left:14px;height:calc(100% - 20px - env(safe-area-inset-bottom,0px));width:calc((100% - 28px - (var(--count) - 1) * 4px) / var(--count));transform:translate(calc(var(--idx) * (100% + 4px)));background:var(--accent-soft);border-radius:var(--r-md);pointer-events:none;z-index:0;transition:transform .42s var(--ease-spring),background .2s}.tf-tab{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 4px 6px;color:var(--muted);font:600 10.5px/1 var(--font-ui);letter-spacing:.01em;cursor:pointer;border-radius:var(--r-md);background:transparent;border:none;text-decoration:none;transition:color .2s}.tf-tab svg{transition:transform .3s var(--ease-spring)}.tf-tab:hover{color:var(--text-mid)}.tf-tab[data-active=true]{color:var(--accent-text)}.tf-tab[data-active=true] svg{transform:translateY(-1px) scale(1.05)}.tf-tab[data-active=true]:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:var(--r-full);background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.tf-pillgroup{position:relative;display:flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-full)}.tf-pill-indicator{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px - (var(--count) - 1) * 4px) / var(--count));transform:translate(calc(var(--idx) * (100% + 4px)));background:var(--accent);border-radius:var(--r-full);box-shadow:0 4px 14px -4px var(--accent-glow);transition:transform .42s var(--ease-spring);pointer-events:none;z-index:0}.tf-pill{position:relative;z-index:1;flex:1;padding:8px 10px;border-radius:var(--r-full);font:600 12.5px/1 var(--font-ui);color:var(--hint);cursor:pointer;text-align:center;transition:color .2s var(--ease-out);border:none;background:transparent}.tf-pill[data-active=true]{color:var(--accent-on)}.tf-card{margin:0 12px 14px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-card);position:relative;transition:transform .18s var(--ease-out)}.tf-card.is-unread:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;background:var(--accent);border-radius:0 3px 3px 0;box-shadow:0 0 12px var(--accent-glow)}.tf-cardhead{display:flex;align-items:center;gap:11px;padding:14px 16px 8px}.tf-cardhead .avatar{width:40px;height:40px;border-radius:var(--r-full);background:var(--photo-fallback);flex-shrink:0;display:flex;align-items:center;justify-content:center;font:700 14px/1 var(--font-ui);color:var(--text);overflow:hidden;position:relative}.tf-cardhead .avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tf-cardhead .meta{min-width:0;flex:1;line-height:1.2}.tf-cardhead .title{font:700 14.5px/1.2 var(--font-ui);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:5px}.tf-cardhead .title .lock{display:inline-flex;color:var(--hint)}.tf-cardhead .sub{margin-top:2px;font:500 11.5px/1.2 var(--font-ui);color:var(--hint);display:flex;align-items:center;gap:5px}.tf-cardhead .sub .dot{width:2.5px;height:2.5px;border-radius:var(--r-full);background:currentColor;opacity:.55}.tf-cardtext{padding:4px 16px;font:400 14.5px/1.5 var(--font-ui);color:var(--text);white-space:pre-wrap;word-break:break-word;letter-spacing:-.003em}.tf-cardtext.is-clamped{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;position:relative;mask-image:linear-gradient(to bottom,black 70%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 70%,transparent 100%)}.tf-cardtext.is-tappable{cursor:pointer;transition:opacity .15s}.tf-cardtext.is-tappable:active{opacity:.7}.tf-readmore{margin:4px 16px 0;display:inline-flex;align-items:center;gap:4px;font:600 12.5px/1 var(--font-ui);color:var(--accent-text);background:none;border:none;padding:4px 0;cursor:pointer}.tf-readmore svg{transition:transform .2s var(--ease-out)}.tf-cardtext b,.tf-cardtext strong{font-weight:700}.tf-cardtext i,.tf-cardtext em{font-style:italic}.tf-cardtext s,.tf-cardtext del{text-decoration:line-through;color:var(--hint)}.tf-cardtext u{text-decoration:underline;text-underline-offset:2px}.tf-cardtext a{color:var(--accent-text);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--accent-text) 35%,transparent)}.tf-cardtext code{font:500 .88em/1 var(--font-mono);background:var(--surface-2);padding:2px 5px;border-radius:5px;border:1px solid var(--border-soft)}.tf-cardtext pre{font:500 12.5px/1.45 var(--font-mono);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);padding:10px 12px;margin:6px 0;overflow-x:auto}.tf-cardtext pre code{background:transparent;padding:0;border:none}.tf-cardtext blockquote{margin:6px 0;padding:4px 0 4px 12px;border-left:2.5px solid var(--accent);color:var(--text-mid);font-style:italic}.tf-cardtext .tg-spoiler{background:var(--surface-hi);color:transparent;border-radius:4px;padding:0 3px;cursor:pointer;transition:color .3s,background .3s}.tf-cardtext .tg-spoiler.is-revealed{background:transparent;color:inherit}.tf-cardtext h3{font:700 16px/1.3 var(--font-ui);margin:8px 0 4px}.tf-media{margin-top:8px;position:relative;background:#000}.tf-media .reel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}.tf-media .reel::-webkit-scrollbar{display:none}.tf-media .slide{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:4 / 3;position:relative;overflow:hidden;cursor:zoom-in}.tf-media .slide.video:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,oklch(0 0 0 / .4),transparent 60%)}.tf-media .slide img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tf-media .dots{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:5px 8px;border-radius:var(--r-full);background:#00000073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tf-media .dot{width:5px;height:5px;border-radius:var(--r-full);background:#fff6;transition:width .2s var(--ease-out),background .2s}.tf-media .dot.active{width:16px;background:#fff}.tf-media .count{position:absolute;top:10px;right:10px;font:600 11px/1 var(--font-ui);padding:5px 8px;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:var(--r-full)}.tf-media .play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.tf-media .play .btn{width:56px;height:56px;border-radius:var(--r-full);background:#ffffffeb;color:#000;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px #0006}.tf-media .video-meta{position:absolute;bottom:10px;left:10px;font:600 11px/1 var(--font-ui);padding:5px 8px;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;border-radius:var(--r-xs)}.tf-media .nav-arrow{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:var(--r-full);background:#0000008c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background .15s,transform .18s var(--ease-spring)}.tf-media .nav-arrow:hover{background:#000000b3}.tf-media .nav-arrow:active{transform:translateY(-50%) scale(.92)}.tf-media .nav-arrow.prev{left:10px}.tf-media .nav-arrow.next{right:10px}.tf-doc{margin:8px 16px 0;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border-soft);color:var(--accent-text);font:600 13px/1.2 var(--font-ui);cursor:pointer;text-decoration:none}.tf-doc .ic{width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tf-doc .sub{font-weight:500;color:var(--hint);font-size:11.5px;margin-top:1px}.tf-cardfoot{display:flex;align-items:center;gap:2px;padding:10px 8px;border-top:1px solid var(--border-soft);margin-top:6px}.tf-action{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;background:transparent;color:var(--text-mid);font:600 12px/1 var(--font-ui);border-radius:var(--r-md);cursor:pointer;transition:background .15s,color .15s,transform .15s var(--ease-spring);position:relative;text-decoration:none}.tf-action svg{transition:transform .3s var(--ease-spring)}.tf-action:hover{color:var(--text)}.tf-action:active{transform:scale(.9)}.tf-action:disabled{opacity:.5;cursor:default}.tf-action[data-on=true]{color:var(--accent-text)}.tf-action[data-on=true] svg{transform:scale(1.08)}.tf-action[data-variant=open]{margin-left:auto;width:36px;height:36px;padding:0;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent-text);justify-content:center}.tf-action[data-variant=open]:hover{background:color-mix(in oklab,var(--accent) 28%,transparent)}.tf-action[data-variant=split-primary]{flex:1;justify-content:center;background:var(--surface-2);padding:10px 12px;border-radius:var(--r-md)}.tf-action[data-variant=split-primary]:hover{background:var(--surface-hi);color:var(--text)}.tf-action[data-variant=split-primary][data-on=true]{background:var(--accent-soft);color:var(--accent-text)}.tf-action[data-variant=split-secondary]{background:var(--surface-2);padding:10px;border-radius:var(--r-md);color:var(--hint)}.tf-action[data-variant=split-secondary]:hover{background:var(--surface-hi);color:var(--text)}.tf-action[data-variant=split-secondary][data-on=true]{background:var(--accent-soft);color:var(--accent-text)}.tf-action-burst{display:inline-flex;animation:tf-burst .42s var(--ease-spring);will-change:transform}@keyframes tf-burst{0%{transform:scale(1)}35%{transform:scale(1.28)}60%{transform:scale(.92)}to{transform:scale(1)}}.tf-action-flash{position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:inherit;background:var(--accent-soft);pointer-events:none;animation:tf-flash .42s var(--ease-out)}@keyframes tf-flash{0%{opacity:0;transform:scale(.6)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.tf-list{margin:0 12px;background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border-soft);overflow:hidden;box-shadow:var(--shadow-card)}.tf-row{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--border-soft);position:relative}.tf-row:last-child{border-bottom:none}.tf-row .avatar{width:40px;height:40px;border-radius:var(--r-full);background:var(--photo-fallback);flex-shrink:0;display:flex;align-items:center;justify-content:center;font:700 13.5px/1 var(--font-ui);overflow:hidden}.tf-row .avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.tf-row .meta{min-width:0;flex:1;line-height:1.2}.tf-row .meta .title{font:700 14px/1.2 var(--font-ui);display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-row .meta .sub{margin-top:3px;font:500 11.5px/1.2 var(--font-ui);color:var(--hint);display:flex;align-items:center;gap:5px}.tf-row .meta .sub.is-warn{color:var(--warn)}.tf-row .controls{display:flex;gap:4px}.tf-row .iconbtn{width:32px;height:32px;border-radius:var(--r-md);background:transparent;border:none;color:var(--hint);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s,transform .18s var(--ease-spring)}.tf-row .iconbtn:hover{background:var(--surface-2);color:var(--text)}.tf-row .iconbtn:active{transform:scale(.88)}.tf-row .iconbtn:disabled{opacity:.45;cursor:default}.tf-row .iconbtn[data-variant=danger]:hover{background:var(--danger-soft);color:var(--danger)}.tf-addcard{margin:6px 12px 16px;padding:4px 5px 4px 14px;background:var(--surface);border-radius:var(--r-full);border:1.5px solid var(--border-soft);display:flex;align-items:center;gap:8px;transition:border-color .18s,box-shadow .18s}.tf-addcard:focus-within{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.tf-addcard input{flex:1;min-width:0;background:transparent;border:none;outline:none;font:500 14px/1 var(--font-ui);color:var(--text);padding:12px 0}.tf-addcard input::-moz-placeholder{color:var(--hint)}.tf-addcard input::placeholder{color:var(--hint)}.tf-addcard button{border:none;cursor:pointer;font:700 12.5px/1 var(--font-ui);padding:11px 18px;background:var(--accent);color:var(--accent-on);border-radius:var(--r-full);box-shadow:0 4px 14px -4px var(--accent-glow);transition:transform .18s var(--ease-spring),background .15s}.tf-addcard button:active{transform:scale(.94)}.tf-addcard button:disabled{opacity:.55;cursor:default}.tf-addhint{margin:-10px 22px 14px;font:500 11.5px/1.3 var(--font-ui);color:var(--hint);display:flex;align-items:center;gap:6px}.tf-addhint.is-success{color:var(--success)}.tf-addhint.is-warn{color:var(--warn)}.tf-addhint.is-danger{color:var(--danger)}.tf-sectionhead{margin:18px 18px 8px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.tf-sectionhead h2{margin:0;font:700 16px/1.2 var(--font-ui);letter-spacing:-.015em}.tf-sectionhead h2 .count{margin-left:6px;font:600 12px/1 var(--font-ui);color:var(--hint)}.tf-sectionhead .link{font:600 12px/1 var(--font-ui);color:var(--hint);padding:7px 11px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border-soft);display:inline-flex;align-items:center;gap:4px;cursor:pointer;text-decoration:none}.tf-catgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px}.tf-cattile{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;position:relative}.tf-cattile .banner{height:64px;background:var(--photo-fallback);position:relative}.tf-cattile .av-frame{position:absolute;left:12px;bottom:-18px;width:44px;height:44px;border-radius:var(--r-full);background:var(--surface);border:3px solid var(--surface);display:flex;align-items:center;justify-content:center;overflow:hidden}.tf-cattile .av-frame>.avatar{width:100%!important;height:100%!important;border-radius:var(--r-full)}.tf-cattile .av-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:var(--r-full)}.tf-cattile .body{padding:24px 12px 10px;flex:1}.tf-cattile .name{font:700 13.5px/1.2 var(--font-ui);letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tf-cattile .handle{margin-top:3px;font:500 11px/1.2 var(--font-ui);color:var(--hint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tf-cattile .stats{margin-top:8px;display:flex;align-items:center;gap:8px;font:600 11px/1 var(--font-ui);color:var(--hint)}.tf-cattile .stats .pip{width:3px;height:3px;border-radius:var(--r-full);background:currentColor;opacity:.5}.tf-cattile .cta{padding:8px 10px 10px;display:flex;gap:6px}.tf-cattile .sub-btn{flex:1;background:var(--accent);color:var(--accent-on);border:none;font:700 12px/1 var(--font-ui);padding:9px 10px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:transform .18s var(--ease-spring),background .15s}.tf-cattile .sub-btn:active{transform:scale(.95)}.tf-cattile .sub-btn:disabled{cursor:default}.tf-cattile .sub-btn[data-state=subscribed]{background:var(--surface-2);color:var(--text-mid);border:1px solid var(--border)}.tf-cattile .sub-btn[data-state=queued],.tf-cattile .sub-btn[data-state=pending]{background:var(--warn-soft);color:var(--warn);border:1px solid color-mix(in oklab,var(--warn) 40%,transparent)}.tf-cattile .hide-btn{width:36px;background:transparent;border:1px solid var(--border-soft);color:var(--hint);border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.tf-cattile .hide-btn:hover{background:var(--surface-2);color:var(--text)}.tf-cattile-msg{margin:0;padding:0 10px 10px;font:500 11px/1.35 var(--font-ui);color:var(--hint)}.tf-cattile-msg.is-danger{color:var(--danger)}.tf-empty{margin:20px 18px;padding:36px 24px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-xl);text-align:center}.tf-empty .icon{width:56px;height:56px;border-radius:var(--r-full);margin:0 auto 14px;background:var(--accent-soft);color:var(--accent-text);display:flex;align-items:center;justify-content:center}.tf-empty h3{margin:0 0 6px;font:700 16px/1.3 var(--font-ui);letter-spacing:-.01em}.tf-empty p{margin:0 auto;max-width:240px;font:500 13px/1.45 var(--font-ui);color:var(--hint)}.tf-empty .cta{margin-top:14px;display:inline-flex;align-items:center;gap:5px;padding:10px 16px;background:var(--accent);color:var(--accent-on);border:none;font:700 13px/1 var(--font-ui);border-radius:var(--r-full);cursor:pointer;box-shadow:0 4px 14px -4px var(--accent-glow)}.tf-subhead{display:flex;align-items:center;gap:10px;padding:14px 14px 8px}.tf-subhead .back{width:34px;height:34px;border-radius:var(--r-full);background:var(--surface);border:1px solid var(--border-soft);display:inline-flex;align-items:center;justify-content:center;color:var(--text-mid);cursor:pointer}.tf-subhead h2{margin:0;font:700 18px/1.2 var(--font-ui);letter-spacing:-.015em}.tf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:700 13px/1 var(--font-ui);padding:11px 18px;border-radius:var(--r-full);border:1px solid transparent;cursor:pointer;transition:transform .18s var(--ease-spring),background .15s,opacity .15s}.tf-btn:active{transform:scale(.95)}.tf-btn:disabled{opacity:.5;cursor:default}.tf-btn[data-variant=primary]{background:var(--accent);color:var(--accent-on);box-shadow:0 4px 14px -4px var(--accent-glow)}.tf-btn[data-variant=secondary]{background:var(--surface-2);color:var(--text);border-color:var(--border-soft)}.tf-btn[data-variant=ghost]{background:transparent;color:var(--accent-text)}.tf-spinner{width:28px;height:28px;border-radius:var(--r-full);border:2.5px solid var(--border-soft);border-top-color:var(--accent);animation:tf-spin .7s linear infinite}.tf-spin{animation:tf-spin .8s linear infinite}@keyframes tf-spin{to{transform:rotate(360deg)}}html,body,#root{height:100%;margin:0}#root{height:100%}body{background:var(--tg-bg);color:var(--tg-text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}img{color:transparent}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;pointer-events:auto;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}
