.tf-page,.tf-detail{min-width:0;background:var(--surface,#fff)}
/* Native stretched link: full-card navigation, with independent nested actions. */
.tf-card{position:relative}
.tf-card-body>.row-link::after{content:"";position:absolute;inset:0;z-index:1;cursor:pointer}
.tf-card button,.tf-card .tf-relations a{position:relative;z-index:2}
.tf-card:hover{border-color:var(--muted)}
.tf-toolbar,.tf-summary,.tf-segments{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid var(--line,#e5e5e5)}
.tf-toolbar .search{flex:1;max-width:480px}.tf-summary{font-size:12px;color:var(--muted,#737373);justify-content:space-between}.tf-segments{gap:4px;overflow:auto}.tf-segments .btn{white-space:nowrap}.tf-segments .active{background:var(--ink,#111);color:var(--base,#fff)}
.tf-caption{margin:0;padding:12px 24px;font-size:12px;color:var(--muted,#737373)}
.tf-board{display:flex;align-items:stretch;overflow-x:auto;min-height:400px;border-top:1px solid var(--line,#e5e5e5);padding-bottom:20px;scroll-snap-type:x proximity}
.tf-column{flex:1 0 270px;min-width:0;padding:0 12px;background:var(--surface,#fafafa);border-right:1px solid var(--line,#e5e5e5);scroll-snap-align:start}.tf-column>header{display:flex;gap:8px;justify-content:space-between;align-items:center;min-height:55px}.tf-column h2{font-size:14px;margin:0}.tf-column>header span{font-size:12px;color:var(--muted,#737373)}.tf-column>.btn{width:100%;margin-top:12px}.tf-empty-column{font-size:13px;color:var(--muted,#737373);padding:24px 0}
.tf-card{background:var(--base,#fff);border:1px solid var(--line,#e5e5e5);border-radius:8px;margin-bottom:12px;overflow:hidden}.tf-card:focus-within{outline:2px solid var(--ink,#111);outline-offset:2px}.tf-card-body{padding:14px}.tf-card .social-thumbnail{height:126px;min-height:0;padding:14px}.tf-card .social-thumbnail strong{font-size:20px}.tf-card .social-thumbnail img{width:64px}.tf-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px}.tf-card .row-link{font-size:14px;line-height:1.5;display:block}.tf-card-description{font-size:13px;line-height:1.5;color:var(--muted,#737373);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:8px 0 12px}.tf-card-meta{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:12px;color:var(--muted,#737373);margin:12px 0}.tf-card footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line,#e5e5e5);padding-top:12px;font-size:12px}.tf-card footer>.btn{margin-left:auto}
.tf-row{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line,#e5e5e5)}.tf-row .grow{min-width:0}.tf-row p{font-size:12px;color:var(--muted,#737373);margin-top:5px}.tf-title{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.tf-title small{font-size:12px;color:var(--muted,#737373)}.tf-row input{width:18px;height:18px;flex-shrink:0}.tf-relations{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;margin:8px 0}.tf-group-title{font-size:13px;background:var(--surface,#fafafa);padding:12px 24px;border-bottom:1px solid var(--line,#e5e5e5)}
.tf-calendar-head{display:flex;gap:16px;align-items:center;padding:16px 24px}.tf-calendar-head h2{font-size:18px;margin:0;min-width:160px;text-transform:capitalize}.tf-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.tf-calendar>strong{padding:10px 12px;background:var(--surface,#fafafa);font-size:12px;font-weight:500;border-bottom:1px solid var(--line,#e5e5e5)}.tf-day{min-height:120px;padding:10px;border-right:1px solid var(--line,#e5e5e5);border-bottom:1px solid var(--line,#e5e5e5)}.tf-day.outside{background:var(--surface,#fafafa);color:var(--muted,#737373)}.tf-day>button[data-action="tf-new-date"]{border:0;background:transparent;color:inherit;font:inherit;width:28px;height:28px;border-radius:50%;cursor:pointer}.tf-day.today>button[data-action="tf-new-date"]{background:var(--ink,#111);color:var(--base,#fff)}.tf-calendar-task{display:block;padding:6px;margin:5px 0;background:var(--surface,#f5f5f5);font-size:12px;line-height:1.4;color:inherit;border-left:2px solid currentColor;text-decoration:none;overflow-wrap:anywhere}.tf-agenda-date{padding:12px 16px;background:var(--surface,#fafafa);font-size:12px;font-weight:600}
.tf-project-heading{display:flex;justify-content:space-between;align-items:center}.tf-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.tf-project{padding:24px;border-right:1px solid var(--line,#e5e5e5);border-bottom:1px solid var(--line,#e5e5e5)}.tf-project small{font-size:12px;color:var(--muted,#737373)}.tf-project h2{font-size:18px;margin:8px 0}.tf-project h2 button{font-size:18px;padding:0;font-weight:600;white-space:normal;text-align:left;height:auto}.tf-project p{font-size:13px;margin-bottom:8px}.tf-project progress{width:100%;height:5px;accent-color:var(--ink,#111);margin:16px 0 8px}.tf-project>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
.tf-detail-heading{padding:20px 24px;border-bottom:1px solid var(--line,#e5e5e5)}.tf-heading-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;font-size:13px}.tf-detail-heading small{font-size:12px;color:var(--muted,#737373)}.tf-detail-heading h1{font-size:24px;font-weight:600;line-height:1.3;margin:8px 0 12px;max-width:850px}.tf-detail-heading p{font-size:13px}.tf-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px}.tf-detail-layout>article{min-width:0}.tf-detail .section{padding:24px}.tf-description{white-space:pre-wrap;line-height:1.7;max-width:800px;margin-top:16px}.tf-subheading{margin-top:32px}.tf-subheading small{font-size:13px;color:var(--muted,#737373)}.tf-subtasks>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line,#e5e5e5);padding:10px 0}.tf-subtasks label{display:flex;align-items:center;gap:10px;font-size:14px}.tf-subtasks input{width:18px;height:18px;flex-shrink:0}.tf-subtasks label:has(input:checked) span{text-decoration:line-through;color:var(--muted,#737373)}.tf-sub-form{display:flex;gap:8px;margin-top:16px}.tf-sub-form input{min-width:0;flex:1}.tf-properties{border-left:1px solid var(--line,#e5e5e5);padding:24px;display:flex;flex-direction:column;gap:16px;background:var(--surface,#fafafa)}.tf-properties h2{font-size:18px;margin:0}.tf-properties h3{font-size:13px;margin:8px 0 0}.tf-properties .field{margin:0}.tf-properties .field input,.tf-properties .field select{width:100%}.tf-properties>.btn{white-space:normal}.tf-decision{border-top:1px solid var(--line,#e5e5e5);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px}.tf-decision>div{display:flex;gap:8px}.tf-event{padding:16px 0;border-bottom:1px solid var(--line,#e5e5e5)}.tf-event>div{display:flex;justify-content:space-between;gap:16px;font-size:13px}.tf-event time{font-size:12px;color:var(--muted,#737373)}.tf-event p{white-space:pre-wrap;margin:12px 0;line-height:1.6}.tf-event+.stack{margin-top:24px}.tf-file{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line,#e5e5e5)}.tf-file .grow{min-width:0;overflow-wrap:anywhere}.tf-file p{font-size:12px;color:var(--muted,#737373);margin:6px 0}.tf-saved-view{display:flex;justify-content:space-between;gap:12px}.tf-form-error,#tf-error{color:#b42318;font-size:13px;line-height:1.5}.tf-form-error:empty,#tf-error:empty{display:none}#tf-error:not(:empty){padding:12px 24px;background:#fff6f4}
@media(max-width:1100px){.tf-detail-layout{grid-template-columns:minmax(0,1fr) 260px}.tf-properties{padding:20px}.tf-row{gap:12px}}
@media(max-width:768px){.tf-toolbar,.tf-summary,.tf-segments{padding:12px 16px}.tf-toolbar{flex-wrap:wrap;gap:8px}.tf-toolbar .search{flex:1;min-width:180px}.tf-toolbar>.grow{display:none}.tf-toolbar>[data-action=vision-extension]{display:none}.tf-summary{align-items:flex-start;flex-direction:column;gap:5px}.tf-segments .btn{min-height:44px}.tf-column{flex-basis:calc(100vw - 48px);padding:0 12px}.tf-card .social-thumbnail{height:150px}.tf-card .social-thumbnail strong{font-size:24px}.tf-caption{padding:12px 16px}.tf-card .btn,.tf-row>.btn{min-height:44px}.tf-card footer{font-size:13px}.tf-row{padding:16px;flex-wrap:wrap;gap:12px}.tf-row>.grow{flex:1;min-width:220px}.tf-row>.badge{margin-left:30px}.tf-row>.btn{margin-left:auto}.tf-row .tf-title{display:block}.tf-row .tf-title small{display:block;margin-top:6px}.tf-row p{line-height:1.6}.tf-calendar-head{padding:16px;gap:8px;flex-wrap:wrap}.tf-calendar-head h2{font-size:16px;min-width:150px}.tf-projects{grid-template-columns:1fr}.tf-project{padding:20px 16px}.tf-project-heading{padding:16px!important}.tf-detail-heading{padding:16px}.tf-heading-top{margin-bottom:16px;gap:8px}.tf-heading-top>.row-link{display:none}.tf-heading-top .flex{width:100%;justify-content:space-between}.tf-detail-heading h1{font-size:24px}.tf-detail-layout{display:flex;flex-direction:column}.tf-properties{border-left:0;border-top:1px solid var(--line,#e5e5e5);padding:20px 16px}.tf-detail .section{padding:20px 16px}.tf-decision{padding:16px;flex-direction:column;align-items:stretch}.tf-decision>div{justify-content:flex-end}.tf-event>div{flex-direction:column;gap:4px}.tf-file{align-items:flex-start}.tf-file .btn{flex-shrink:0}.tf-subtasks>div{align-items:flex-start}.tf-subtasks label{padding-top:10px}.tf-detail .sf-post-preview,.tf-detail .sf-preview{max-width:100%}}
@media(max-width:768px){
 .tf-toolbar>[data-action=tf-reset],.tf-caption,.tf-summary-date{display:none}
 .tf-summary{flex-direction:row;gap:12px;align-items:center;padding:8px 16px;min-height:40px}
 .tf-summary>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .tf-summary>span:last-child{flex:1;text-align:right}
 .tf-segments{padding:8px 16px}
 .tf-heading-top .btn{min-height:44px}
}
.tf-social-cover{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line);background:var(--elevated)}
.tf-social-cover strong,.tf-social-cover span{display:block;font-size:12px}.tf-social-cover span{color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
#tf-mobile-decision{display:none}
@media(max-width:768px){
 #tf-mobile-decision{position:fixed;left:0;right:0;bottom:calc(78px + env(safe-area-inset-bottom,0px));display:flex;gap:12px;padding:12px 16px;background:var(--base);border-top:1px solid var(--line);z-index:35}
 #tf-mobile-decision .btn{flex:1;min-height:44px}.tf-awaiting-mobile #main{padding-bottom:80px}.tf-awaiting-mobile .tf-decision{display:none}
}
