:root {
  --tl-red: #ed1717;
  --tl-ink: #111113;
  --tl-muted: #68707d;
  --tl-paper: #ffffff;
  --tl-wash: #f4f4f6;
  --tl-line: #e4e4e8;
  --tl-dark: #15171b;
}

#thumbnailsView { background: var(--tl-paper); min-height: calc(100vh - 92px); }
.thumbnailLab { width: 100%; min-height: calc(100vh - 92px); color: var(--tl-ink); background: var(--tl-paper); }
.guestMode #navThumbnails { display: none !important; }
.tlDemoMode #loginOverlay { display: none !important; }

.tlShell { width: min(1600px, 100%); margin: 0 auto; padding: 38px 44px 80px; }
.tlTopline { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.tlEyebrow { display: inline-flex; align-items: center; gap: 9px; color: #838b98; font-size: 11px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.tlEyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--tl-red); box-shadow: 0 0 0 5px rgba(237,23,23,.09); }
.tlTopline h1 { margin: 8px 0 3px; font-size: clamp(38px,4vw,66px); line-height: .96; letter-spacing: -.06em; }
.tlTopline p { margin: 9px 0 0; color: var(--tl-muted); font-size: 15px; }
.tlButton { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 0 18px; border: 1px solid var(--tl-line); border-radius: 13px; color: var(--tl-ink); background: #fff; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; transition: .18s ease; }
.tlButton:hover { transform: translateY(-1px); border-color: #babac1; }
.tlButton.primary { color: #fff; border-color: var(--tl-red); background: var(--tl-red); box-shadow: 0 10px 24px rgba(237,23,23,.18); }
.tlButton.dark { color: #fff; border-color: #22242a; background: var(--tl-dark); }
.tlButton.danger { color: var(--tl-red); }
.tlButton.complete { color:#fff; border-color:#1c1d21; background:#1c1d21; }
.tlButton.complete:hover { color:#fff; border-color:var(--tl-red); background:var(--tl-red); }
.tlButton.small { min-height: 36px; padding: 0 12px; border-radius: 10px; font-size: 12px; }
.tlButton:disabled { opacity: .45; cursor: not-allowed; transform: none; }

.tlMetrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; margin: 0 0 24px; border: 1px solid var(--tl-line); border-radius: 18px; background: var(--tl-line); }
.tlMetric { min-height: 104px; padding: 21px 24px; background: #fafafa; }
.tlMetric span { display: block; color: #848b96; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.tlMetric b { display: block; margin-top: 7px; font-size: 30px; letter-spacing: -.045em; }
.tlMetric.red b { color: var(--tl-red); }

.tlToolbar { display: flex; align-items: center; gap: 10px; margin: 24px 0 18px; }
.tlSearch { position: relative; flex: 1; }
.tlSearch input { width: 100%; height: 48px; padding: 0 18px 0 45px; border: 1px solid var(--tl-line); border-radius: 14px; outline: none; color: var(--tl-ink); background: #fafafa; font: inherit; }
.tlSearch input:focus { border-color: rgba(237,23,23,.55); box-shadow: 0 0 0 4px rgba(237,23,23,.07); background: #fff; }
.tlSearch svg { position: absolute; top: 15px; left: 16px; width: 18px; color: #8a9099; }
.tlChips { display: flex; gap: 7px; }
.tlChip { height: 40px; padding: 0 14px; border: 1px solid var(--tl-line); border-radius: 999px; color: #666d78; background: #fff; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.tlChip.active { color: #fff; border-color: var(--tl-dark); background: var(--tl-dark); }
.tlArchiveTabs { display: inline-grid; grid-template-columns: 1fr 1fr; flex: 0 0 auto; gap: 3px; padding: 4px; border: 1px solid var(--tl-line); border-radius: 14px; background: #f2f2f4; }
.tlArchiveTabs button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 104px; height: 38px; padding: 0 13px; border: 0; border-radius: 10px; color: #707680; background: transparent; font: 800 12px/1 Inter,sans-serif; cursor: pointer; }
.tlArchiveTabs button b { display: grid; place-items: center; min-width: 21px; height: 21px; padding: 0 6px; border-radius: 999px; color: #777d87; background: #fff; font-size: 9px; }
.tlArchiveTabs button.active { color: #fff; background: var(--tl-dark); box-shadow: 0 5px 13px rgba(17,17,19,.13); }
.tlArchiveTabs button.active b { color: var(--tl-dark); }

.tlProjectGrid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.tlProjectCard { position: relative; overflow: hidden; min-width: 0; border: 1px solid var(--tl-line); border-radius: 21px; background: #fff; cursor: pointer; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.tlProjectCard:hover { transform: translateY(-3px); border-color: #c9c9ce; box-shadow: 0 18px 44px rgba(25,25,30,.08); }
.tlProjectCard.completed { border-color: #24262c; color: #fff; background: #16171b; box-shadow: 0 18px 44px rgba(10,10,12,.14); }
.tlProjectCard.completed:hover { border-color: rgba(237,23,23,.72); box-shadow: 0 20px 50px rgba(20,13,15,.2),0 0 0 3px rgba(237,23,23,.06); }
.tlProjectCard.completed .tlCardVisual::after,.tlMobileProject.completed .tlCardVisual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(8,9,11,.52)); pointer-events:none; }
.tlProjectCard.completed .tlCardVisual img,.tlMobileProject.completed .tlCardVisual img { filter:saturate(.7) contrast(1.04); }
.tlProjectCard.completed .tlCardBody h3 { color:#fff; }
.tlProjectCard.completed .tlCardMeta { color:#a9aeb8; }
.tlCompletedBadge { position:absolute; z-index:2; top:12px; left:12px; display:inline-flex; align-items:center; min-height:30px; padding:0 11px; border-radius:999px; color:#fff; background:linear-gradient(135deg,#ef2028,#a90922); box-shadow:0 8px 18px rgba(0,0,0,.2); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.tlCardVisual { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #e9e9ed; }
.tlCardVisual img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.tlProjectCard:hover .tlCardVisual img { transform: scale(1.025); }
.tlEmptyVisual { width: 100%; height: 100%; display: grid; place-items: center; color: #aaaeb7; background: linear-gradient(145deg,#f4f4f6,#e9e9ed); }
.tlEmptyVisual::before { content: "+"; display: grid; place-items: center; width: 52px; height: 52px; border: 1px dashed #bcbfc5; border-radius: 16px; font-size: 26px; }
.tlCardBadge { position: absolute; top: 12px; left: 12px; padding: 7px 10px; border-radius: 999px; color: #fff; background: rgba(13,14,16,.78); backdrop-filter: blur(12px); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.tlCardBadge.final { background: var(--tl-red); }
.tlCardCount { position: absolute; right: 12px; bottom: 11px; padding: 6px 9px; border-radius: 8px; color: #fff; background: rgba(13,14,16,.82); font-size: 11px; font-weight: 800; }
.tlCardBody { padding: 18px 19px 17px; }
.tlCardBody h3 { overflow: hidden; margin: 0 0 7px; font-size: 19px; letter-spacing: -.025em; white-space: nowrap; text-overflow: ellipsis; }
.tlCardMeta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #7a8290; font-size: 12px; }
.tlCardMeta b { color: var(--tl-red); }
.tlProgress { height: 3px; margin-top: 16px; overflow: hidden; border-radius: 99px; background: #eeeef1; }
.tlProgress i { display: block; height: 100%; border-radius: inherit; background: var(--tl-red); }
.tlEmptyState { display: grid; place-items: center; min-height: 390px; padding: 50px; border: 1px dashed #d7d7dc; border-radius: 24px; text-align: center; background: #fafafa; }
.tlEmptyState i { display: grid; place-items: center; width: 80px; height: 80px; border-radius: 24px; color: #fff; background: var(--tl-red); font-size: 34px; font-style: normal; box-shadow: 0 18px 40px rgba(237,23,23,.2); }
.tlEmptyState h2 { margin: 24px 0 7px; font-size: 27px; letter-spacing: -.04em; }
.tlEmptyState p { max-width: 440px; margin: 0 0 22px; color: var(--tl-muted); line-height: 1.6; }

.tlLoading { display: grid; place-items: center; min-height: 65vh; text-align: center; }
.tlLoadingMark { position: relative; width: 104px; height: 104px; }
.tlLoadingMark::before,.tlLoadingMark::after { content: ""; position: absolute; inset: 0; border: 1px solid #dddde2; border-radius: 28px; animation: tlPulse 1.6s ease-in-out infinite; }
.tlLoadingMark::after { inset: 17px; border-color: var(--tl-red); animation-delay: -.5s; }
.tlLoadingMark i { position: absolute; z-index: 2; inset: 40px; border-radius: 50%; background: var(--tl-red); }
.tlLoading b { display: block; margin-top: 22px; font-size: 18px; }
.tlLoading span { display: block; max-width: 380px; margin-top: 6px; color: var(--tl-muted); font-size: 13px; line-height: 1.5; }
@keyframes tlPulse { 0%,100% { transform: scale(.96); opacity: .45; } 50% { transform: scale(1.05); opacity: 1; } }

.tlDetailHead { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 24px; margin-bottom: 24px; }
.tlBack { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 22px; padding: 0; border: 0; color: #69717e; background: none; font: inherit; font-size: 13px; font-weight: 800; cursor: pointer; }
.tlDetailHead h1 { margin: 6px 0 5px; font-size: clamp(32px,3.4vw,54px); line-height: 1; letter-spacing: -.055em; }
.tlDetailMeta { display: flex; align-items: center; gap: 12px; color: var(--tl-muted); font-size: 12px; }
.tlStatusSelect { height: 35px; padding: 0 30px 0 11px; border: 1px solid var(--tl-line); border-radius: 10px; color: var(--tl-ink); background: #fff; font: inherit; font-size: 11px; font-weight: 800; text-transform: capitalize; }
.tlHeadActions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.tlArchiveBanner { display:flex; align-items:center; gap:13px; margin:0 0 18px; padding:15px 17px; border:1px solid #25272d; border-radius:17px; color:#fff; background:linear-gradient(120deg,#15161a,#23252b); box-shadow:0 16px 34px rgba(17,17,19,.1); }
.tlArchiveBanner>i { display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:12px; color:#fff; background:var(--tl-red); font-size:17px; font-weight:900; font-style:normal; box-shadow:0 8px 17px rgba(237,23,23,.22); }
.tlArchiveBanner>div { display:grid; gap:3px; }.tlArchiveBanner b{font-size:13px}.tlArchiveBanner span{color:#b9bec8;font-size:10px;line-height:1.4}
.tlArchiveAside { display:grid; justify-items:center; gap:6px; padding:20px 16px; border:1px solid #292b31; border-radius:17px; color:#fff; background:#17181c; text-align:center; }.tlArchiveAside i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:var(--tl-red);font-style:normal;font-weight:900}.tlArchiveAside b{margin-top:3px;font-size:13px}.tlArchiveAside span{color:#aeb3bd;font-size:10px;line-height:1.4}
.tlArchivedEmpty { display:grid; justify-items:center; gap:7px; min-height:220px; place-content:center; padding:30px; color:#7a808a; text-align:center; }.tlArchivedEmpty i{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;color:#fff;background:#1b1c21;font-style:normal;font-weight:900}.tlArchivedEmpty b{margin-top:3px;color:#31353c;font-size:14px}.tlArchivedEmpty span{max-width:330px;font-size:10px;line-height:1.5}
.tlEmptyState.archive i { background:#1b1c21; box-shadow:0 18px 40px rgba(20,21,25,.14); }
.tlCompletedDetail .tlRoundTab.active { border-color:#24262c;background:#24262c; }
.tlOption.archived { border-color:#dadce1;box-shadow:0 7px 20px rgba(17,17,19,.04) }.tlOption.archived .tlOptionLabel{background:#202126}.tlOptionActions .archiveDownload{width:auto;min-width:92px;padding-inline:12px;text-decoration:none}
.tlTitleRow.archived>div{width:100%;min-height:43px;display:flex;align-items:center;padding:0 12px;border:1px solid var(--tl-line);border-radius:11px;background:#f7f7f8}.tlTitleRow.archived>div>b{font-size:11px}

.tlDetailGrid { display: grid; grid-template-columns: minmax(0,1fr) 390px; gap: 22px; align-items: start; }
.tlWorkspace { min-width: 0; }
.tlPanel { overflow: hidden; border: 1px solid var(--tl-line); border-radius: 20px; background: #fff; }
.tlPanel + .tlPanel { margin-top: 18px; }
.tlPanelHead { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 70px; padding: 14px 18px; border-bottom: 1px solid var(--tl-line); background: #fafafa; }
.tlPanelHead h2,.tlPanelHead h3 { margin: 0; font-size: 16px; letter-spacing: -.02em; }
.tlPanelHead p { margin: 3px 0 0; color: var(--tl-muted); font-size: 11px; }
.tlRoundTabs { display: flex; gap: 6px; overflow-x: auto; padding: 0 0 10px; scrollbar-width: none; }
.tlRoundTab { flex: 0 0 auto; padding: 9px 13px; border: 1px solid var(--tl-line); border-radius: 10px; color: #6c7480; background: #fff; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.tlRoundTab.active { color: #fff; border-color: var(--tl-dark); background: var(--tl-dark); }
.tlOptions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 16px; }
.tlOption { overflow: hidden; min-width: 0; border: 1px solid var(--tl-line); border-radius: 16px; background: #fff; }
.tlOption.selected { border-color: rgba(237,23,23,.7); box-shadow: 0 0 0 3px rgba(237,23,23,.08); }
.tlOptionVisual { position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; border: 0; background: #ececf0; cursor: zoom-in; }
.tlOptionVisual img { width: 100%; height: 100%; object-fit: cover; }
.tlOptionLabel { position: absolute; top: 10px; left: 10px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: #fff; background: var(--tl-red); font-size: 12px; font-weight: 900; }
.tlCommentCount { position: absolute; right: 10px; bottom: 10px; padding: 6px 8px; border-radius: 8px; color: #fff; background: rgba(13,14,16,.8); font-size: 10px; font-weight: 800; }
.tlOptionBody { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 12px; }
.tlOptionBy { min-width: 0; }
.tlOptionBy b { display: block; overflow: hidden; font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.tlOptionBy span { display: block; margin-top: 2px; color: #89909a; font-size: 10px; }
.tlOptionActions { display: flex; gap: 5px; }
.tlIconButton { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 9px; border: 1px solid var(--tl-line); border-radius: 10px; color: #555d68; background: #fff; font: inherit; font-size: 11px; font-weight: 900; cursor: pointer; }
.tlIconButton.active { color: #fff; border-color: var(--tl-red); background: var(--tl-red); }
.tlQuickFeedback { padding: 0 12px 13px; border-top: 1px solid #eeeef1; background: #fbfbfc; }
.tlQuickFeedbackHead { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0 10px; }
.tlQuickFeedbackHead>div:first-child { display: grid; gap: 3px; min-width: 0; }
.tlQuickFeedbackHead>div:first-child>b { color: #4f5661; font-size: 9px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.tlQuickFeedbackHead>div:first-child>span { overflow: hidden; color: #969ca5; font-size: 9px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.tlFeedbackHeadActions { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }
.tlFeedbackHeadActions button { min-height: 30px; padding: 0 9px; border: 1px solid #dedfe3; border-radius: 9px; color: #59606b; background: #fff; font: 800 9px/1 Inter,sans-serif; cursor: pointer; }
.tlFeedbackHeadActions button.new { color: #fff; border-color: var(--tl-red); background: var(--tl-red); box-shadow: 0 5px 13px rgba(237,23,23,.13); }
.tlFeedbackHeadActions button:hover { border-color: #bbbfc6; transform: translateY(-1px); }
.tlFeedbackHeadActions button.new:hover { border-color: #c80f0f; background: #d91414; }
.tlNewThreadComposer { display: grid; gap: 10px; margin-bottom: 10px; padding: 12px; border: 1px solid #dedfe3; border-radius: 13px; background: linear-gradient(145deg,#fff,#f7f7f8); box-shadow: 0 8px 22px rgba(20,21,24,.05); animation: tlThreadReveal .18s ease-out; }
.tlNewThreadComposer label { display: grid; gap: 5px; }
.tlNewThreadComposer label>span { color: #6f7680; font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.tlNewThreadComposer input,.tlNewThreadComposer textarea,.tlThreadReplyComposer textarea { box-sizing: border-box; width: 100%; border: 1px solid #d9dbe0; outline: 0; color: var(--tl-ink); background: #fff; font: 650 11px/1.45 Inter,sans-serif; transition: border-color .15s ease,box-shadow .15s ease; }
.tlNewThreadComposer input { height: 38px; padding: 0 11px; border-radius: 10px; font-weight: 800; }
.tlNewThreadComposer textarea,.tlThreadReplyComposer textarea { min-height: 68px; padding: 10px 11px; resize: vertical; border-radius: 11px; }
.tlNewThreadComposer input:focus,.tlNewThreadComposer textarea:focus,.tlThreadReplyComposer textarea:focus { border-color: rgba(237,23,23,.58); box-shadow: 0 0 0 3px rgba(237,23,23,.07); }
.tlNewThreadComposer input:disabled,.tlNewThreadComposer textarea:disabled,.tlThreadReplyComposer textarea:disabled { color: #777d86; background: #f1f1f3; }
.tlThreadList { display: grid; gap: 7px; }
.tlFeedbackThread { overflow: hidden; border: 1px solid #e0e1e5; border-radius: 13px; background: #fff; transition: border-color .16s ease,box-shadow .16s ease; }
.tlFeedbackThread:hover { border-color: #cfd1d6; box-shadow: 0 6px 18px rgba(17,18,21,.045); }
.tlFeedbackThread.open { border-color: #c9cbd1; box-shadow: 0 9px 25px rgba(17,18,21,.065); }
.tlFeedbackThread.saving { opacity: .72; }
.tlThreadSummary { display: grid; grid-template-columns: 30px minmax(0,1fr) auto 22px; align-items: center; gap: 9px; width: 100%; padding: 10px; border: 0; color: var(--tl-ink); text-align: left; background: transparent; font: inherit; cursor: pointer; }
.tlThreadGlyph { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; color: var(--tl-red); background: #fff0f0; font-size: 13px; font-weight: 950; }
.tlFeedbackThread.legacy .tlThreadGlyph { color: #606671; background: #f0f1f3; }
.tlThreadSummaryCopy { display: grid; gap: 2px; min-width: 0; }
.tlThreadSummaryCopy>b { overflow: hidden; font-size: 12px; letter-spacing: -.015em; text-overflow: ellipsis; white-space: nowrap; }
.tlThreadSummaryCopy>span { display: -webkit-box; overflow: hidden; color: #666d78; font-size: 10px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.tlThreadSummaryCopy>small { color: #a0a5ad; font-size: 8px; font-weight: 700; }
.tlThreadPeople { display: flex; align-items: center; padding-left: 7px; }
.tlThreadAvatar { width: 20px; height: 20px; margin-left: -7px; border: 2px solid #fff; }
.tlThreadChevron { color: #777e88; font-size: 17px; line-height: 1; text-align: center; transition: transform .18s ease; }
.tlFeedbackThread.open .tlThreadChevron { transform: rotate(180deg); }
.tlThreadBody { overflow: hidden; border-top: 1px solid #ececef; background: #fafafa; animation: tlThreadReveal .18s ease-out; }
.tlThreadContext { padding: 8px 11px; border-bottom: 1px solid #ececef; background: #f5f5f6; }
.tlThreadContext small { color: #858b94; font-size: 8px; font-weight: 700; }
.tlThreadMessages { display: grid; padding: 4px 11px 3px; }
.tlThreadMessage { box-sizing: border-box; position: relative; display: grid; grid-template-columns: 27px minmax(0,1fr); gap: 9px; width: calc(100% - var(--tl-thread-depth) * 24px); margin-left: calc(var(--tl-thread-depth) * 24px); padding: 10px 0 2px; }
.tlThreadMessage.nested { padding-left: 9px; border-left: 1px solid #dfe1e5; }
.tlThreadMessage.pending { opacity: .62; }
.tlCommentRail { position: relative; min-width: 0; }
.tlCommentRail>i { position: absolute; top: 29px; bottom: -4px; left: 13px; width: 1px; background: #e2e3e7; }
.tlThreadMessage:last-child .tlCommentRail>i { display: none; }
.tlThreadMessageAvatar { width: 27px; height: 27px; }
.tlThreadComment { min-width: 0; padding-bottom: 9px; border-bottom: 1px solid #e7e8eb; }
.tlThreadMessage:last-child>.tlThreadComment { border-bottom: 0; }
.tlThreadComment header { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 22px; }
.tlThreadComment header>b { font-size: 10px; }
.tlThreadComment header>time { color: #9a9fa8; font-size: 8px; font-style: normal; }
.tlThreadComment p { margin: 4px 0 0; color: #343942; font-size: 11px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.tlCommentActions { display: flex; align-items: center; gap: 7px; margin-top: 5px; }
.tlCommentActions button { min-height: 26px; padding: 0 5px; border: 0; border-radius: 6px; color: #727984; background: transparent; font: 800 8px/1 Inter,sans-serif; cursor: pointer; }
.tlCommentActions button:hover { color: var(--tl-red); background: #fff0f0; }
.tlThreadReplyComposer { display: grid; gap: 8px; padding: 11px; border-top: 1px solid #e5e6e9; background: #fff; }
.tlThreadReplyComposer.inline { margin: 8px 0 2px; padding: 9px; border: 1px solid #dedfe3; border-radius: 11px; background: #fff; box-shadow: 0 5px 15px rgba(17,18,21,.04); }
.tlReplyingTo { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #777e88; font-size: 8px; }
.tlReplyingTo b { color: #343942; }
.tlReplyingTo button { border: 0; color: #777e88; background: transparent; font: 800 8px/1 Inter,sans-serif; cursor: pointer; }
.tlReplyingTo button:hover { color: var(--tl-red); }
.tlThreadComposerFoot { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.tlThreadComposerFoot>small { color: #969ca5; font-size: 8px; line-height: 1.35; }
.tlThreadComposerFoot>button { flex: 0 0 auto; min-height: 34px; padding: 0 12px; border: 0; border-radius: 9px; color: #fff; background: var(--tl-red); font: 850 9px/1 Inter,sans-serif; cursor: pointer; }
.tlThreadComposerFoot>button:disabled { cursor: wait; opacity: .65; }
.tlThreadEmpty { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 10px; padding: 14px; border: 1px dashed #d9dade; border-radius: 13px; background: #fff; }
.tlThreadEmpty>span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--tl-red); background: #fff0f0; font-size: 15px; font-weight: 950; }
.tlThreadEmpty b { display: block; font-size: 11px; }
.tlThreadEmpty p { margin: 3px 0 0; color: #858b95; font-size: 9px; line-height: 1.45; }
@keyframes tlThreadReveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.tlUploadDrop { display: grid; place-items: center; min-height: 172px; margin: 16px; border: 1px dashed #cfd0d6; border-radius: 17px; text-align: center; background: #fafafa; cursor: pointer; }
.tlUploadDrop:hover { border-color: var(--tl-red); background: rgba(237,23,23,.025); }
.tlUploadDrop b { display: block; margin-top: 10px; font-size: 13px; }
.tlUploadDrop span { display: block; margin-top: 3px; color: var(--tl-muted); font-size: 11px; }
.tlUploadDrop i { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: #fff; background: var(--tl-red); font-size: 24px; font-style: normal; }

.tlAside { position: sticky; top: 102px; min-width: 0; }
.tlSimulator { overflow: hidden; border: 1px solid #292b31; border-radius: 22px; color: #f3f3f5; background: var(--tl-dark); box-shadow: 0 20px 50px rgba(17,17,20,.14); }
.tlSimChrome { display: flex; align-items: center; justify-content: space-between; padding: 13px 15px; border-bottom: 1px solid #2c2e34; }
.tlSimChrome b { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.tlSimModes { display: flex; gap: 4px; }
.tlSimModes button { padding: 6px 8px; border: 0; border-radius: 7px; color: #8c929d; background: transparent; font: inherit; font-size: 9px; font-weight: 800; cursor: pointer; }
.tlSimModes button.active { color: #fff; background: #303239; }
.tlYouTube { padding: 15px; }
.tlYTThumb { position: relative; overflow: hidden; aspect-ratio: 16/9; border-radius: 12px; background: #26282e; }
.tlYTThumb img { width: 100%; height: 100%; object-fit: cover; }
.tlYTDuration { position: absolute; right: 6px; bottom: 6px; padding: 3px 5px; border-radius: 4px; color: #fff; background: rgba(0,0,0,.82); font-size: 10px; font-weight: 800; }
.tlYTInfo { display: grid; grid-template-columns: 34px minmax(0,1fr) 20px; gap: 10px; margin-top: 11px; }
.tlYTAvatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #fff; background: var(--tl-red); font-size: 11px; font-weight: 900; }
.tlYTInfo h3 { display: -webkit-box; overflow: hidden; margin: 0; color: #f5f5f6; font-size: 13px; line-height: 1.3; letter-spacing: -.01em; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tlYTInfo p { margin: 4px 0 0; color: #9197a1; font-size: 10px; line-height: 1.45; }
.tlPreviewPickers { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 15px 15px; border-top: 1px solid #2c2e34; }
.tlPreviewPickers label { min-width: 0; color: #8d939d; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tlPreviewPickers select { width: 100%; height: 34px; margin-top: 5px; padding: 0 9px; border: 1px solid #34363e; border-radius: 8px; color: #fff; background: #24262c; font: inherit; font-size: 10px; }
.tlBrief { margin-top: 14px; padding: 17px; border: 1px solid var(--tl-line); border-radius: 17px; background: #fafafa; }
.tlBrief label { display: block; margin-bottom: 7px; color: #767e89; font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.tlBrief textarea { width: 100%; min-height: 76px; padding: 0; resize: vertical; border: 0; outline: 0; color: var(--tl-ink); background: transparent; font: inherit; font-size: 12px; line-height: 1.55; }

.tlTitles { padding: 6px 16px 16px; }
.tlTitleRow { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 8px; padding: 10px 0; border-bottom: 1px solid #eeeef1; }
.tlTitleRow:last-child { border-bottom: 0; }
.tlTitleRow input { min-width: 0; height: 40px; padding: 0 11px; border: 1px solid transparent; border-radius: 9px; outline: 0; color: var(--tl-ink); background: transparent; font: inherit; font-size: 13px; font-weight: 700; }
.tlTitleRow input:focus { border-color: var(--tl-line); background: #fafafa; }
.tlCharCount { color: #9a9fa8; font-size: 9px; }
.tlTitleEmpty { padding: 24px 0 10px; color: var(--tl-muted); text-align: center; font-size: 12px; }
.tlComboBuilder { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 16px; }
.tlCombo { overflow: hidden; border: 1px solid var(--tl-line); border-radius: 14px; }
.tlCombo img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; background: #eee; }
.tlComboCopy { padding: 11px; }
.tlComboCopy b { display: -webkit-box; overflow: hidden; min-height: 32px; font-size: 11px; line-height: 1.4; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tlComboCopy span { display: block; margin: 6px 0 9px; color: #8a919b; font-size: 9px; }
.tlFinalRibbon { display: flex; align-items: center; gap: 9px; padding: 12px 16px; color: #fff; background: var(--tl-red); font-size: 12px; font-weight: 800; }

.tlModal { position: fixed; z-index: 5000; inset: 0; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(15,16,19,.62); backdrop-filter: blur(10px); }
.tlModal.show { display: flex; }
.tlModalCard { width: min(560px,100%); max-height: min(840px,calc(100vh - 32px)); overflow: auto; padding: 26px; border-radius: 23px; background: #fff; box-shadow: 0 30px 100px rgba(0,0,0,.3); }
.tlModalCard.wide { width: min(1180px,100%); padding: 0; overflow: hidden; }
.tlModalHead { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.tlModalHead h2 { margin: 4px 0 0; font-size: 27px; letter-spacing: -.04em; }
.tlModalClose { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 11px; background: #f0f0f2; font-size: 20px; cursor: pointer; }
.tlArchivedViewer { padding:24px; }.tlArchivedViewer>.tlModalHead{margin-bottom:15px}.tlArchivedViewer>img{display:block;width:100%;max-height:68vh;object-fit:contain;border-radius:16px;background:#101115}.tlArchivedViewer>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.tlArchivedViewer>footer>span{overflow:hidden;color:#707680;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.tlArchivedViewer>footer>a{text-decoration:none}
.tlForm { display: grid; gap: 15px; }
.tlForm label { display: grid; gap: 7px; color: #6f7782; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.tlForm input,.tlForm textarea,.tlForm select { width: 100%; padding: 13px 14px; border: 1px solid var(--tl-line); border-radius: 12px; outline: none; color: var(--tl-ink); background: #fafafa; font: inherit; font-size: 14px; text-transform: none; letter-spacing: 0; }
.tlForm textarea { min-height: 105px; resize: vertical; }
.tlForm input:focus,.tlForm textarea:focus { border-color: rgba(237,23,23,.55); box-shadow: 0 0 0 4px rgba(237,23,23,.07); background: #fff; }
.tlFormActions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 5px; }
.tlReview { display: grid; grid-template-columns: minmax(0,1fr) 330px; min-height: 600px; }
.tlReviewStage { position: relative; display: grid; place-items: center; padding: 30px; background: #111216; }
.tlReviewImage { position: relative; width: 100%; }
.tlReviewImage img { display: block; width: 100%; max-height: 72vh; object-fit: contain; }
.tlReviewImage.isPinning { cursor: crosshair; }
.tlPin { position: absolute; display: grid; place-items: center; width: 25px; height: 25px; transform: translate(-50%,-50%); border: 2px solid #fff; border-radius: 50%; color: #fff; background: var(--tl-red); box-shadow: 0 4px 15px rgba(0,0,0,.3); font-size: 9px; font-weight: 900; }
.tlReviewSide { display: flex; flex-direction: column; min-width: 0; background: #fff; }
.tlReviewSide .tlModalHead { padding: 21px 20px 15px; margin: 0; border-bottom: 1px solid var(--tl-line); }
.tlComments { flex: 1; overflow-y: auto; padding: 12px 20px; }
.tlComment { display: grid; grid-template-columns: 26px minmax(0,1fr); gap: 9px; padding: 12px 0; border-bottom: 1px solid #eeeef1; }
.tlComment i { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #fff; background: var(--tl-red); font-size: 9px; font-style: normal; font-weight: 900; }
.tlComment b { font-size: 11px; }
.tlComment span { margin-left: 5px; color: #999fa8; font-size: 9px; }
.tlComment p { margin: 4px 0 0; color: #535b66; font-size: 11px; line-height: 1.5; }
.tlCommentComposer { padding: 14px; border-top: 1px solid var(--tl-line); }
.tlCommentComposer textarea { width: 100%; min-height: 70px; padding: 10px; resize: none; border: 1px solid var(--tl-line); border-radius: 11px; outline: none; color: var(--tl-ink); background: #fafafa; font: inherit; font-size: 11px; }
.tlCommentComposer div { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
.tlCommentComposer small { color: #8a919a; font-size: 9px; }

.tlToast { position: fixed; z-index: 6000; right: 24px; bottom: 24px; max-width: 360px; padding: 13px 17px; transform: translateY(20px); border-radius: 12px; color: #fff; background: #15161a; box-shadow: 0 14px 40px rgba(0,0,0,.18); opacity: 0; pointer-events: none; font-size: 12px; font-weight: 700; transition: .2s ease; }
.tlToast.show { transform: translateY(0); opacity: 1; }
.tlToast.error { background: var(--tl-red); }

/* Simplified two-screen thumbnail workflow. */
.tlSimpleShell { max-width: 1500px; }
.tlSimpleTop,.tlSimpleDetailHead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 12px 0 28px; border-bottom: 1px solid var(--tl-line); }
.tlSimpleTop h1,.tlSimpleDetailHead h1 { margin: 8px 0 0; font-size: clamp(38px,4vw,58px); line-height: 1; letter-spacing: -.055em; }
.tlSimpleTop p,.tlSimpleDetailHead p { margin: 7px 0 0; color: var(--tl-muted); font-size: 13px; }
.tlSimpleProjects { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding-top: 24px; }
.tlSimpleProject { overflow: hidden; min-width: 0; border: 1px solid var(--tl-line); border-radius: 20px; background: #fff; cursor: pointer; transition: .18s ease; }
.tlSimpleProject:hover { transform: translateY(-2px); border-color: #c5c5ca; box-shadow: 0 18px 42px rgba(18,18,22,.08); }
.tlSimpleProjectImage { position: relative; overflow: hidden; aspect-ratio: 16/9; background: #eeeef1; }
.tlSimpleProjectImage img { width: 100%; height: 100%; object-fit: cover; }
.tlSimpleProjectImage > span { position: absolute; right: 11px; bottom: 11px; padding: 7px 9px; border-radius: 8px; color: #fff; background: rgba(15,16,19,.84); font-size: 10px; font-weight: 800; }
.tlSimpleProjectBody { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 17px 18px; }
.tlSimpleProjectBody h2 { overflow: hidden; margin: 0; font-size: 18px; letter-spacing: -.025em; white-space: nowrap; text-overflow: ellipsis; }
.tlSimpleProjectBody b { flex: 0 0 auto; color: var(--tl-red); font-size: 11px; }
.tlSimpleEmpty { display: grid; place-items: center; min-height: 410px; margin-top: 24px; border: 1px dashed #d1d2d7; border-radius: 22px; text-align: center; background: #fafafa; }
.tlSimpleEmpty i { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto; border-radius: 19px; color: #fff; background: var(--tl-red); font-size: 30px; font-style: normal; }
.tlSimpleEmpty h2 { margin: 18px 0 4px; font-size: 23px; }
.tlSimpleEmpty p { margin: 0 0 18px; color: var(--tl-muted); font-size: 12px; }
.tlSimpleDetailHead { margin-bottom: 24px; }
.tlSimpleBatch { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.tlSimpleOption { overflow: hidden; min-width: 0; border: 1px solid var(--tl-line); border-radius: 19px; background: #fff; }
.tlSimpleOptionImage { position: relative; display: block; width: 100%; overflow: hidden; aspect-ratio: 16/9; background: #ececf0; }
.tlSimpleOptionImage img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tlSimpleOptionImage span { position: absolute; top: 11px; left: 11px; display: grid; place-items: center; width: 31px; height: 31px; border-radius: 9px; color: #fff; background: var(--tl-red); font-size: 12px; font-weight: 900; }
.tlSimpleOptionBody { padding: 14px; }
.tlSimpleFile { min-width: 0; }
.tlSimpleFile b { display: block; overflow: hidden; font-size: 13px; white-space: nowrap; text-overflow: ellipsis; }
.tlSimpleFile small { display: block; margin-top: 4px; color: #8a919b; font-size: 10px; }
.tlSimpleOptionFoot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; }
.tlSimpleOptionFoot .tlButton { flex: 1; text-decoration: none; }
.tlSimpleDrop { min-height: 330px; margin: 0; }
.tlSimpleDelete { display: block; margin: 26px 0 0 auto; }

.tlSimpleMobile { padding-top: 4px; }
.tlSimpleMobileHead { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding: 10px 2px 18px; border-bottom: 1px solid var(--tl-line); }
.tlSimpleMobileHead h1 { margin: 7px 0 0; font-size: 34px; line-height: 1; letter-spacing: -.055em; }
.tlSimpleMobileHead p { margin: 5px 0 0; color: var(--tl-muted); font-size: 11px; }
.tlSimpleMobileProjects { display: grid; gap: 12px; padding-top: 14px; }
.tlSimpleProject.mobile { border-radius: 18px; }
.tlSimpleProject.mobile .tlSimpleProjectBody { padding: 14px; }
.tlSimpleProject.mobile .tlSimpleProjectBody h2 { font-size: 16px; }
.tlSimpleDetail { padding-top: 0; }
.tlSimpleUploadIcon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: #fff; background: var(--tl-red); font-size: 22px; font-weight: 700; }
.tlSimpleMobileBatch { display: grid; gap: 13px; padding: 14px 0; }
.tlSimpleOption.mobile { border-radius: 18px; }
.tlSimpleOption.mobile .tlSimpleOptionBody { padding: 13px; }

/* Purpose-built phone layout, rendered inside the existing mobile shell. */
.tlMobile { min-height: 100%; padding: 8px 14px 110px; color: var(--tl-ink); background: #fff; }
.tlMobileHero { padding: 10px 3px 18px; }
.tlMobileHero .tlEyebrow { font-size: 9px; }
.tlMobileHero h1 { margin: 9px 0 4px; font-size: 34px; line-height: 1; letter-spacing: -.055em; }
.tlMobileHero p { margin: 0; color: var(--tl-muted); font-size: 12px; }
.tlMobileStats { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin-bottom: 13px; }
.tlMobileStats div { padding: 12px; border: 1px solid var(--tl-line); border-radius: 15px; background: #fafafa; }
.tlMobileStats span { display: block; color: #8b919b; font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.tlMobileStats b { display: block; margin-top: 5px; font-size: 20px; }
.tlMobileFilters { display: flex; gap: 7px; overflow-x: auto; margin: 0 -14px 14px; padding: 0 14px; scrollbar-width: none; }
.tlMobileProject { overflow: hidden; margin-bottom: 12px; border: 1px solid var(--tl-line); border-radius: 20px; background: #fff; }
.tlMobileProject .tlCardVisual { aspect-ratio: 16/9; }
.tlMobileProject .tlCardBody { padding: 15px; }
.tlMobileProject .tlCardBody h3 { font-size: 18px; }
.tlMobileFab { position: fixed; z-index: 100; right: 16px; bottom: calc(84px + env(safe-area-inset-bottom)); display: grid; place-items: center; width: 58px; height: 58px; border: 0; border-radius: 19px; color: #fff; background: var(--tl-red); box-shadow: 0 14px 34px rgba(237,23,23,.3); font-size: 29px; cursor: pointer; }
.tlMobileDetail { padding-top: 0; }
.tlMobileDetailTop { position: sticky; z-index: 10; top: 0; display: grid; grid-template-columns: 42px minmax(0,1fr) 42px; align-items: center; gap: 8px; margin: 0 -14px; padding: 8px 12px; border-bottom: 1px solid var(--tl-line); background: rgba(255,255,255,.93); backdrop-filter: blur(18px); }
.tlMobileDetailTop button { display: grid; place-items: center; width: 42px; height: 42px; border: 0; border-radius: 13px; background: #f1f1f3; font-size: 19px; }
.tlMobileDetailTop b { overflow: hidden; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; }
.tlMobileDetailTop span { display: block; margin-top: 2px; color: var(--tl-red); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.tlMobileFeature { position: relative; overflow: hidden; margin: 14px 0 11px; border-radius: 20px; color: #fff; background: #15161a; }
.tlMobileFeature img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.tlMobileFeatureEmpty { display: grid; place-items: center; aspect-ratio: 16/9; color: #8b919b; background: #202228; font-size: 12px; }
.tlMobileFeatureBar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px; }
.tlMobileFeatureBar b { font-size: 12px; }
.tlMobileFeatureBar span { color: #9ba1aa; font-size: 9px; }
.tlMobileRoundStrip,.tlMobileOptionStrip { display: flex; gap: 9px; overflow-x: auto; margin: 0 -14px; padding: 5px 14px 12px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.tlMobileOption { flex: 0 0 76%; overflow: hidden; scroll-snap-align: center; border: 1px solid var(--tl-line); border-radius: 18px; background: #fff; }
.tlMobileOption.active { border-color: var(--tl-red); }
.tlMobileOption img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; background: #eee; }
.tlMobileOptionFoot { display: flex; align-items: center; justify-content: space-between; padding: 10px; }
.tlMobileSection { margin-top: 9px; padding: 16px 0; border-top: 1px solid var(--tl-line); }
.tlMobileSectionHead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; }
.tlMobileSectionHead h2 { margin: 0; font-size: 19px; letter-spacing: -.035em; }
.tlMobileTitle { display: grid; grid-template-columns: minmax(0,1fr) 38px; gap: 8px; align-items: center; margin-bottom: 8px; padding: 12px; border: 1px solid var(--tl-line); border-radius: 14px; }
.tlMobileTitle b { font-size: 12px; line-height: 1.4; }
.tlMobileTitle span { display: block; margin-top: 4px; color: #8b929c; font-size: 9px; }
.tlMobileTitle button { width: 38px; height: 38px; border: 1px solid var(--tl-line); border-radius: 11px; background: #fff; }
.tlMobileTitle button.active { color: #fff; border-color: var(--tl-red); background: var(--tl-red); }

@media (max-width: 1180px) {
  .tlProjectGrid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tlDetailGrid { grid-template-columns: minmax(0,1fr) 340px; }
  .tlComboBuilder { grid-template-columns: 1fr; }
  .tlSimpleProjects,.tlSimpleBatch { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .tlShell { padding: 28px 24px 70px; }
  .tlDetailGrid { grid-template-columns: 1fr; }
  .tlAside { position: static; }
  .tlMetrics { grid-template-columns: repeat(2,1fr); }
  .tlReview { grid-template-columns: 1fr; }
  .tlReviewSide { min-height: 320px; }
}
@media (max-width: 767px) {
  #thumbnailsView { display: none !important; }
  .tlModal { padding: 0; align-items: flex-end; }
  .tlModalCard { width: 100%; max-height: 92vh; padding: 21px 18px calc(22px + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
  .tlModalCard.wide { height: 94vh; max-height: 94vh; border-radius: 24px 24px 0 0; }
  .tlReview { display: flex; flex-direction: column; height: 100%; }
  .tlReviewStage { min-height: 43%; padding: 10px; }
  .tlReviewSide { flex: 1; min-height: 0; }
  .tlToast { right: 12px; bottom: calc(92px + env(safe-area-inset-bottom)); left: 12px; max-width: none; text-align: center; }
  .tlSimpleProjects,.tlSimpleBatch { grid-template-columns: 1fr; }
  .tlQuickFeedback.mobile { padding: 0 13px 14px; }
  .tlQuickFeedback.mobile .tlQuickFeedbackHead { align-items: flex-start; padding: 14px 0 11px; }
  .tlQuickFeedback.mobile .tlFeedbackHeadActions { gap: 5px; }
  .tlQuickFeedback.mobile .tlFeedbackHeadActions button { min-height: 36px; padding: 0 10px; font-size: 9px; }
  .tlQuickFeedback.mobile .tlNewThreadComposer { padding: 13px; border-radius: 15px; }
  .tlQuickFeedback.mobile .tlNewThreadComposer input { height: 44px; font-size: 13px; }
  .tlQuickFeedback.mobile .tlNewThreadComposer textarea,.tlQuickFeedback.mobile .tlThreadReplyComposer textarea { min-height: 84px; font-size: 13px; }
  .tlQuickFeedback.mobile .tlThreadList { gap: 9px; }
  .tlQuickFeedback.mobile .tlFeedbackThread { border-radius: 15px; }
  .tlQuickFeedback.mobile .tlThreadSummary { grid-template-columns: 36px minmax(0,1fr) 20px; min-height: 72px; gap: 10px; padding: 12px; }
  .tlQuickFeedback.mobile .tlThreadGlyph { width: 36px; height: 36px; border-radius: 11px; font-size: 15px; }
  .tlQuickFeedback.mobile .tlThreadSummaryCopy>b { font-size: 14px; }
  .tlQuickFeedback.mobile .tlThreadSummaryCopy>span { font-size: 11px; -webkit-line-clamp: 2; }
  .tlQuickFeedback.mobile .tlThreadSummaryCopy>small { margin-top: 2px; font-size: 9px; }
  .tlQuickFeedback.mobile .tlThreadPeople { display: none; }
  .tlQuickFeedback.mobile .tlThreadContext { padding: 10px 13px; }
  .tlQuickFeedback.mobile .tlThreadMessages { padding: 2px 13px; }
  .tlQuickFeedback.mobile .tlThreadMessage { grid-template-columns: 28px minmax(0,1fr); gap: 8px; width: calc(100% - var(--tl-thread-depth) * 17px); margin-left: calc(var(--tl-thread-depth) * 17px); padding: 12px 0 2px; }
  .tlQuickFeedback.mobile .tlThreadMessage.nested { padding-left: 7px; }
  .tlQuickFeedback.mobile .tlThreadMessageAvatar { width: 28px; height: 28px; }
  .tlQuickFeedback.mobile .tlCommentRail>i { top: 30px; left: 14px; }
  .tlQuickFeedback.mobile .tlThreadComment header>b { font-size: 11px; }
  .tlQuickFeedback.mobile .tlThreadComment p { margin-top: 6px; font-size: 13px; line-height: 1.5; }
  .tlQuickFeedback.mobile .tlCommentActions button { min-height: 34px; padding: 0 8px; font-size: 10px; }
  .tlQuickFeedback.mobile .tlThreadReplyComposer { gap: 10px; padding: 13px; }
  .tlQuickFeedback.mobile .tlThreadReplyComposer.inline { padding: 11px; }
  .tlQuickFeedback.mobile .tlThreadComposerFoot { align-items: stretch; flex-direction: column; }
  .tlQuickFeedback.mobile .tlThreadComposerFoot>small { font-size: 9px; }
  .tlQuickFeedback.mobile .tlThreadComposerFoot>button { min-height: 43px; font-size: 11px; }
}
.tlWorkflowTabs{margin:22px 0 14px}.tlRoundTab b{margin-left:5px;color:#9ca0a8;font-size:10px}.tlRoundTab.final{color:#be1111}.tlReviewLayout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.tlReviewBatch{min-width:0}.tlDirection{display:flex;flex-direction:column;gap:12px}.tlProfileCard{display:flex;align-items:center;gap:11px;padding:15px;border:1px solid #e6e7ea;border-radius:17px;background:#f7f7f8}.tlProfileAvatar{display:grid;place-items:center;width:42px;height:42px;overflow:hidden;border-radius:13px;background:#e81717;color:#fff;font-weight:900}.tlProfileAvatar img{width:30px;height:30px;filter:brightness(0) invert(1)}.tlProfileCard>div{display:flex;flex-direction:column}.tlProfileCard small{color:#858a93;font-size:10px}.tlFlowGuide{display:flex;flex-direction:column;gap:7px;padding:17px;border:1px solid #e6e7ea;border-radius:17px}.tlFlowGuide span{color:#6f747d;font-size:11px}.tlFinalistBadge{position:absolute;right:10px;bottom:10px;padding:7px 9px;border-radius:8px;background:#e81717;color:#fff;font-size:9px;font-weight:900;letter-spacing:.08em}.tlOption.finalist,.tlMobileOption.finalist{outline:2px solid #e81717;outline-offset:2px}.tlReviewTools{display:flex;align-items:center;gap:7px;margin:0 0 9px}.tlReviewTools button{padding:8px 11px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:11px;font-weight:800}.tlReviewTools button.active{border-color:#ff4c4c;background:#e81717}.tlReviewTools span{margin-left:auto;color:#aeb2ba;font-size:10px}.tlDrawings{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none}.tlDrawings polyline{fill:none;stroke:#ff2525;stroke-width:.8;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.tlDrawings [data-tl-draft-line]{stroke:#fff;stroke-dasharray:2 1}.tlMobileOptionGrid{display:grid;grid-template-columns:1fr;gap:14px}.tlMobileReviewIntro{display:flex;flex-direction:column;gap:4px;margin:8px 0 12px}.tlMobileReviewIntro b{font-size:19px}.tlMobileReviewIntro span{color:#777d86;font-size:12px;line-height:1.45}.tlMobileOptionFoot{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:5px;align-items:center}@media(max-width:980px){.tlReviewLayout{grid-template-columns:1fr}.tlDirection{display:grid;grid-template-columns:1fr 1fr}.tlDirection>.danger{grid-column:1/-1}}@media(max-width:767px){.tlDirection{display:block}.tlMobileOptionGrid .tlMobileOption{width:100%}.tlReviewTools span{display:none}.tlReviewTools{padding:0 5px}.tlReview{display:flex!important;flex-direction:column}.tlReviewStage{min-height:auto}.tlReviewImage{touch-action:none}.tlReviewSide{max-height:46vh}}
.tlMoveControl{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin-top:10px}.tlMoveControl>span{color:#868b94;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.tlMoveControl select{min-width:0;height:34px;padding:0 28px 0 10px;border:1px solid #dedfe3;border-radius:10px;color:#34363b;background:#f7f7f8;font:750 10px/1 Inter,sans-serif;cursor:pointer}.tlFeedCard>.tlMoveControl{margin:10px 12px 0;padding:10px 12px;border:1px solid #ececef;border-radius:12px;background:#fafafa}.tlSimpleOptionBody>.tlMoveControl{margin-top:12px}@media(max-width:767px){.tlMoveControl{grid-template-columns:70px minmax(0,1fr)}.tlMoveControl select{height:40px;font-size:11px}}
.tlUserAvatar{display:inline-grid;place-items:center;flex:0 0 auto;overflow:hidden;border-radius:50%;background:#e81717}.tlUserAvatar img{display:block;width:100%;height:100%;object-fit:cover}.tlUserAvatar.wolf img{width:70%;height:70%;object-fit:contain;filter:brightness(0) invert(1)}
.tlProfileAvatar{width:42px;height:42px;border-radius:13px}.tlProfileAvatar img{width:100%;height:100%;filter:none}.tlProfileAvatar.wolf img{width:72%;height:72%;filter:brightness(0) invert(1)}
.tlFeedbackList small{display:flex;align-items:center;gap:5px}.tlFeedbackAvatar{width:18px;height:18px}.tlComment>div>b{display:flex;align-items:center;gap:6px}.tlCommentAvatar{width:21px;height:21px}
.tlUserAvatar[data-profile-id="forrest"] img{transform:scale(1.25);transform-origin:50% 33%}.tlUserAvatar[data-profile-id="jackson"] img{transform:scale(1.78);transform-origin:50% 27%}.tlUserAvatar[data-profile-id="kaden"] img{transform:scale(1.42);transform-origin:50% 29%}.tlUserAvatar[data-profile-id="maks"] img{transform:scale(1.32);transform-origin:50% 31%}.tlUserAvatar[data-profile-id="will"] img{transform:scale(1.3);transform-origin:50% 35%}

/* Persistent, truthful thumbnail upload status. */
.tlUploadQueue{overflow:hidden;margin:0 0 18px;border:1px solid #dfe0e4;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(20,21,25,.06)}
.tlUploadQueue>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px 13px;background:linear-gradient(135deg,#15161a,#24262c);color:#fff}
.tlUploadQueue>header>div{display:grid;gap:2px;min-width:0}.tlUploadQueue>header span{color:#ff5555;font-size:9px;font-weight:950;letter-spacing:.17em}.tlUploadQueue>header b{font-size:16px;letter-spacing:-.02em}.tlUploadQueue>header small{color:#aeb2bc;font-size:10px}.tlUploadQueue>header strong{font-size:28px;letter-spacing:-.05em}
.tlUploadOverall{height:4px;background:#e6e7ea}.tlUploadOverall>i{display:block;height:100%;border-radius:0 999px 999px 0;background:#ed1717;transition:width .2s ease}
.tlUploadRows{display:grid}.tlUploadRows>article{display:grid;grid-template-columns:38px minmax(0,1fr) 44px auto;align-items:center;gap:11px;padding:12px 15px;border-top:1px solid #eeeeF1}.tlUploadRows>article:first-child{border-top:0}
.tlUploadFileIcon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;background:#202126;font-size:17px;font-weight:950}.tlUploadRows>article.done .tlUploadFileIcon{background:#118354}.tlUploadRows>article.error .tlUploadFileIcon{background:#ed1717}
.tlUploadFileCopy{display:grid;gap:4px;min-width:0}.tlUploadFileCopy>b{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.tlUploadFileCopy>span{overflow:hidden;color:#737985;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.tlUploadFileCopy>div{height:4px;overflow:hidden;border-radius:999px;background:#e7e8eb}.tlUploadFileCopy>div>i{display:block;height:100%;border-radius:999px;background:#ed1717;transition:width .2s ease}.tlUploadRows>article.done .tlUploadFileCopy>div>i{background:#118354}
.tlUploadRows>article>em{color:#5f6570;font-size:10px;font-style:normal;font-weight:850;text-align:right}.tlUploadRows>article>button,.tlUploadClear{border:0;border-radius:9px;font-family:inherit;font-size:10px;font-weight:850;cursor:pointer}.tlUploadRows>article>button{min-height:34px;padding:0 12px;color:#fff;background:#ed1717}.tlUploadClear{display:block;margin:0 14px 13px;padding:9px 12px;color:#555b65;background:#f1f1f3}
.tlUploadQueue.mobile{margin:0 0 14px;border-radius:17px}.tlUploadQueue.mobile>header{padding:14px}.tlUploadQueue.mobile>header strong{font-size:24px}.tlUploadQueue.mobile .tlUploadRows>article{grid-template-columns:36px minmax(0,1fr) 38px;padding:11px}.tlUploadQueue.mobile .tlUploadRows>article>button{grid-column:2/4;width:100%}.tlUploadQueue.mobile .tlUploadFileIcon{width:36px;height:36px}.tlUploadQueue.mobile .tlUploadFileCopy>span{white-space:normal;line-height:1.35}

/* Round-based ranking and revision promotion. */
.tlRankingSummary{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 14px;padding:16px 18px;border:1px solid #dedfe3;border-radius:17px;background:linear-gradient(135deg,#17181c,#292b31);color:#fff;box-shadow:0 12px 28px rgba(17,18,21,.09)}
.tlRankingSummary>div{display:grid;gap:3px;flex:0 0 auto}.tlRankingSummary>div span{color:#ff4b4b;font-size:9px;font-weight:950;letter-spacing:.15em}.tlRankingSummary>div b{font-size:16px;letter-spacing:-.025em}.tlRankingSummary p{max-width:580px;margin:0;color:#c4c7ce;font-size:11px;line-height:1.5}.tlRankingSummary strong{color:#fff}
.tlOption.advancing{border-color:rgba(232,23,23,.45);box-shadow:0 8px 28px rgba(232,23,23,.08)}
.tlRankBadge{position:absolute;z-index:3;top:10px;right:10px;display:grid;place-items:center;min-width:34px;height:30px;padding:0 8px;border:1px solid rgba(255,255,255,.3);border-radius:9px;color:#fff;background:rgba(15,16,18,.78);backdrop-filter:blur(10px);font-size:11px;font-weight:950}
.tlNextRoundBadge{position:absolute;z-index:3;left:10px;bottom:10px;padding:7px 9px;border-radius:8px;color:#fff;background:#e81717;box-shadow:0 7px 16px rgba(174,10,15,.2);font-size:8px;font-weight:950;letter-spacing:.08em}
.tlOptionBody{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.tlOptionActions{align-items:center;justify-content:flex-end;flex-wrap:wrap}
.tlVotePair{display:grid;grid-template-columns:40px 40px 34px;align-items:center;height:36px;overflow:hidden;border:1px solid #dfe0e4;border-radius:11px;background:#f6f6f8}
.tlVotePair button{display:flex;align-items:center;justify-content:center;gap:2px;height:100%;padding:0;border:0;border-right:1px solid #e0e1e5;color:#4f555e;background:transparent;font:850 10px/1 Inter,sans-serif;cursor:pointer}
.tlVotePair button svg{width:15px;height:15px}.tlVotePair button span{min-width:9px}.tlVotePair button.active{color:#fff;background:#16855b}.tlVotePair button.active.down{background:#d82931}.tlVotePair>b{font-size:11px;text-align:center}
.tlVotePair.saving { box-shadow: 0 0 0 2px rgba(232,23,23,.08); }
@keyframes tlPendingPulse { to { opacity: .28; transform: scale(.72); } }
.tlAdvanceButton{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:36px;padding:0 10px;border:1px solid #dedfe3;border-radius:11px;color:#4d525b;background:#fff;font:850 10px/1 Inter,sans-serif;cursor:pointer}.tlAdvanceButton i{color:#e81717;font-size:14px;font-style:normal}.tlAdvanceButton.active{color:#fff;border-color:#e81717;background:#e81717}.tlAdvanceButton.active i{color:#fff}.tlAdvanceButton:disabled{cursor:default;opacity:1}
.tlAdvanceNote{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:3px;padding:9px 10px;border-radius:10px;color:#8d1117;background:#fff0f0}.tlAdvanceNote b{font-size:9px;text-transform:uppercase;letter-spacing:.06em}.tlAdvanceNote span{color:#7c5558;font-size:9px;text-align:right}
.tlOptionBody>.tlMoveControl{grid-column:1/-1;width:100%}
.tlCardSignals{position:static!important;display:flex!important;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.tlCardSignals .tlRankBadge,.tlCardSignals .tlNextRoundBadge{position:static;white-space:nowrap}.tlCardSignals .tlRankBadge{color:#34363b;border-color:#dfe0e4;background:#f1f2f4;backdrop-filter:none}.tlCardSignals .tlNextRoundBadge{box-shadow:none}

@media(max-width:767px){
  .tlRankingSummary{display:grid;gap:8px;margin:0 -4px 14px;padding:14px 15px;border-radius:16px}.tlRankingSummary p{font-size:10px}.tlRankingSummary>div b{font-size:15px}
  .tlCardSignals .tlNextRoundBadge{max-width:126px;overflow:hidden;text-overflow:ellipsis}
  .tlFeedCard.advancing{border-color:rgba(232,23,23,.46)}
  .tlFeedActions{grid-template-columns:minmax(0,1.35fr) minmax(92px,1fr) 72px!important;align-items:center}
  .tlVotePair{grid-template-columns:1fr 1fr 34px;height:46px;border-radius:13px}.tlVotePair button svg{width:18px;height:18px}
  .tlAdvanceButton{height:46px;border-radius:13px}.tlAdvanceButton b{white-space:nowrap}.tlDownloadOnly{min-height:46px;padding:0 4px}.tlDownloadOnly b{display:none}
  .tlAdvanceNote{margin:0 12px 8px;padding:10px 12px;align-items:flex-start;flex-direction:column;gap:3px}.tlAdvanceNote span{text-align:left;line-height:1.4}
}
