.tf-viral-workspace{margin-top:calc(18 * var(--u));padding:calc(16 * var(--u));border-radius:calc(12 * var(--u));background:var(--tf-card);color:var(--tf-text);border:1px solid #ffffff14}.tf-viral-title{justify-content:space-between;align-items:center;gap:calc(12 * var(--u));display:flex}.tf-viral-title span{color:var(--tf-pink);font-size:calc(8 * var(--u));letter-spacing:.1em}.tf-viral-title h2{margin-top:calc(4 * var(--u));font-size:calc(18 * var(--u))}.tf-viral-title strong{border:1px solid color-mix(in oklab, var(--tf-pink) 50%, transparent);padding:calc(6 * var(--u)) calc(10 * var(--u));color:var(--tf-pink);font-size:calc(8.5 * var(--u));border-radius:999px}.tf-viral-character-grid{gap:calc(9 * var(--u));margin-top:calc(12 * var(--u));grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.tf-viral-character-card{border-radius:calc(10 * var(--u));text-align:left;background:#ffffff08;border:1px solid #ffffff1a;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:hidden}.tf-viral-character-card:hover{transform:translateY(calc(-2 * var(--u)));border-color:color-mix(in oklab, var(--tf-pink) 62%, transparent)}.tf-viral-character-card.is-active{border-color:var(--tf-pink);box-shadow:0 0 calc(24 * var(--u)) color-mix(in oklab, var(--tf-pink) 22%, transparent)}.tf-viral-character-text-card{min-height:calc(86 * var(--u));border-radius:calc(9 * var(--u));padding:calc(10 * var(--u));text-align:left;background:#ffffff08;border:1px solid #ffffff1a;align-content:start;display:grid}.tf-viral-character-text-card.is-active{border-color:var(--tf-pink);background:color-mix(in oklab, var(--tf-pink) 12%, transparent)}.tf-viral-character-text-card strong{color:var(--tf-text);font-size:calc(11 * var(--u))}.tf-viral-character-text-card span{margin-top:calc(3 * var(--u));color:var(--tf-pink);font-size:calc(8.5 * var(--u))}.tf-viral-character-text-card small{margin-top:calc(5 * var(--u));color:var(--tf-muted);font-size:calc(8.5 * var(--u));line-height:1.4}.tf-viral-character-photo{aspect-ratio:9/12;background:#111;display:block;position:relative;overflow:hidden}.tf-viral-character-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#00000094);height:28%;position:absolute;inset:auto 0 0}.tf-viral-character-photo img{object-fit:cover;object-position:center 32%;width:100%;height:100%;transition:transform .3s}.tf-viral-character-card:hover .tf-viral-character-photo img{transform:scale(1.025)}.tf-viral-character-check{z-index:1;top:calc(8 * var(--u));right:calc(8 * var(--u));width:calc(22 * var(--u));height:calc(22 * var(--u));background:var(--tf-pink);color:#fff;box-shadow:0 calc(4 * var(--u)) calc(14 * var(--u)) #0000005c;border-radius:999px;place-items:center;display:grid;position:absolute}.tf-viral-character-check svg{width:calc(12 * var(--u));height:calc(12 * var(--u))}.tf-viral-character-copy{min-height:calc(80 * var(--u));padding:calc(10 * var(--u));align-content:start;display:grid}.tf-viral-character-copy strong{color:var(--tf-text);font-size:calc(11 * var(--u))}.tf-viral-character-copy>span{margin-top:calc(3 * var(--u));color:var(--tf-pink);font-size:calc(8.5 * var(--u))}.tf-viral-character-copy small{margin-top:calc(5 * var(--u));color:var(--tf-muted);font-size:calc(8.5 * var(--u));line-height:1.4}.tf-viral-config-layout{grid-template-columns:minmax(calc(175 * var(--u)), calc(230 * var(--u))) minmax(0, 1fr);align-items:start;gap:calc(12 * var(--u));display:grid}.tf-viral-selected-card{top:calc(58 * var(--u));border-radius:calc(11 * var(--u));background:color-mix(in oklab, var(--tf-card) 78%, #090909);border:1px solid #ffffff1f;position:sticky;overflow:hidden}.tf-viral-selected-card>img{aspect-ratio:9/11.5;object-fit:cover;object-position:center 30%;width:100%}.tf-viral-selected-copy{padding:calc(10 * var(--u));display:grid}.tf-viral-selected-copy strong{color:var(--tf-text);font-size:calc(12 * var(--u))}.tf-viral-selected-copy span{margin-top:calc(2 * var(--u));color:var(--tf-pink);font-size:calc(8.5 * var(--u))}.tf-viral-selected-copy p{margin-top:calc(5 * var(--u));color:var(--tf-muted);font-size:calc(8.5 * var(--u));line-height:1.45}.tf-viral-selected-copy button{margin-top:calc(9 * var(--u));padding:calc(6 * var(--u)) calc(9 * var(--u));color:var(--tf-text);font-size:calc(8.5 * var(--u));border:1px solid #ffffff1f;border-radius:999px}.tf-viral-selected-card>small{padding:calc(8 * var(--u)) calc(10 * var(--u));color:var(--tf-muted);font-size:calc(7.6 * var(--u));border-top:1px solid #ffffff14;line-height:1.45;display:block}.tf-viral-config-panel{border-radius:calc(11 * var(--u));min-width:0;padding:calc(14 * var(--u));background:#0000001f;border:1px solid #ffffff14}.tf-viral-config-actions{align-items:center;gap:calc(8 * var(--u));margin-top:calc(14 * var(--u));padding-top:calc(11 * var(--u));border-top:1px solid #ffffff14;grid-template-columns:auto 1fr auto;display:grid}.tf-viral-config-actions button{min-height:calc(34 * var(--u));justify-content:center;align-items:center;gap:calc(5 * var(--u));padding:calc(7 * var(--u)) calc(11 * var(--u));font-size:calc(9 * var(--u));border-radius:999px;display:inline-flex}.tf-viral-config-actions button svg{width:calc(10 * var(--u));height:calc(10 * var(--u))}.tf-viral-config-back{color:var(--tf-text);border:1px solid #ffffff1f}.tf-viral-config-next{background:var(--tf-pink);color:#fff}.tf-viral-config-actions>span{color:var(--tf-muted);font-size:calc(8.5 * var(--u));text-align:center}.tf-viral-fields{gap:calc(9 * var(--u));margin-top:calc(14 * var(--u));grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tf-viral-fields label,.tf-viral-idea{gap:calc(5 * var(--u));display:grid}.tf-viral-fields span,.tf-viral-idea span{color:var(--tf-muted);font-size:calc(8.5 * var(--u))}.tf-viral-fields select,.tf-viral-fields input,.tf-viral-idea textarea{border-radius:calc(7 * var(--u));background:color-mix(in oklab, var(--tf-card) 75%, #090909);width:100%;color:var(--tf-text);font:inherit;font-size:calc(9.5 * var(--u));border:1px solid #ffffff1a;outline:none}.tf-viral-fields select,.tf-viral-fields input{height:calc(34 * var(--u));padding:0 calc(9 * var(--u))}.tf-viral-idea{margin-top:calc(10 * var(--u))}.tf-viral-idea textarea{min-height:calc(68 * var(--u));resize:vertical;padding:calc(9 * var(--u))}.tf-viral-fields select:focus,.tf-viral-fields input:focus,.tf-viral-idea textarea:focus{border-color:var(--tf-pink)}.tf-viral-actions{gap:calc(8 * var(--u));margin-top:calc(11 * var(--u));flex-wrap:wrap;display:flex}.tf-viral-actions button{align-items:center;gap:calc(5 * var(--u));border:1px solid var(--tf-pink);border-radius:calc(7 * var(--u));background:var(--tf-pink);color:#fff;padding:calc(8 * var(--u)) calc(12 * var(--u));font-size:calc(8.5 * var(--u));display:inline-flex}.tf-viral-actions button svg{width:calc(10 * var(--u));height:calc(10 * var(--u))}.tf-viral-actions button.tf-viral-copy{color:var(--tf-text);background:0 0}.tf-viral-actions button:disabled{opacity:.5}.tf-viral-status{margin-top:calc(9 * var(--u));color:var(--tf-muted);font-size:calc(8.5 * var(--u))}.tf-viral-output{max-height:calc(240 * var(--u));margin-top:calc(10 * var(--u));white-space:pre-wrap;border-radius:calc(8 * var(--u));padding:calc(11 * var(--u));color:var(--tf-text);font:inherit;font-size:calc(8.5 * var(--u));background:#0000002e;border:1px solid #ffffff14;line-height:1.55;overflow:auto}.tf-viral-result-workspace{padding:calc(12 * var(--u))}.tf-viral-result-layout{grid-template-columns:minmax(calc(185 * var(--u)), calc(235 * var(--u))) minmax(0, 1fr);align-items:stretch;gap:calc(12 * var(--u));display:grid}.tf-viral-result-reference{border-radius:calc(10 * var(--u));background:color-mix(in oklab, var(--tf-card) 72%, #090909);border:1px solid #ffffff1a;flex-direction:column;min-width:0;display:flex;overflow:hidden}.tf-viral-result-reference>img,.tf-viral-result-image-empty{aspect-ratio:9/11;object-fit:cover;object-position:center 30%;background:#111;width:100%}.tf-viral-result-image-empty{color:var(--tf-muted);place-items:center;display:grid}.tf-viral-result-image-empty svg{width:calc(34 * var(--u));height:calc(34 * var(--u))}.tf-viral-result-reference-copy{padding:calc(10 * var(--u));display:grid}.tf-viral-result-reference-copy strong{color:var(--tf-text);font-size:calc(12 * var(--u))}.tf-viral-result-reference-copy span{margin-top:calc(2 * var(--u));color:var(--tf-pink);font-size:calc(8.5 * var(--u))}.tf-viral-result-reference-copy p{margin-top:calc(5 * var(--u));color:var(--tf-muted);font-size:calc(8.5 * var(--u));line-height:1.45}.tf-viral-download-reference{min-height:calc(34 * var(--u));justify-content:center;align-items:center;gap:calc(5 * var(--u));margin:auto calc(10 * var(--u)) calc(10 * var(--u));border:1px solid var(--tf-pink);color:var(--tf-text);padding:calc(7 * var(--u)) calc(9 * var(--u));font-size:calc(8.2 * var(--u));border-radius:999px;display:inline-flex}.tf-viral-download-reference svg{width:calc(10 * var(--u));height:calc(10 * var(--u))}.tf-viral-download-reference:disabled{cursor:wait;opacity:.55}.tf-viral-result-panel{border-radius:calc(10 * var(--u));min-width:0;padding:calc(14 * var(--u));background:#00000024;border:1px solid #ffffff14}.tf-viral-typing-progress{margin-top:calc(12 * var(--u));border:1px solid color-mix(in oklab, var(--tf-pink) 36%, transparent);border-radius:calc(8 * var(--u));background:color-mix(in oklab, var(--tf-pink) 8%, transparent);padding:calc(9 * var(--u))}.tf-viral-typing-progress>div{align-items:center;gap:calc(6 * var(--u));color:var(--tf-text);font-size:calc(8.5 * var(--u));grid-template-columns:auto 1fr auto;display:grid}.tf-viral-typing-progress svg{width:calc(10 * var(--u));height:calc(10 * var(--u));color:var(--tf-pink)}.tf-viral-typing-progress strong{color:var(--tf-pink);font-size:calc(8 * var(--u))}.tf-viral-typing-progress>i{height:calc(3 * var(--u));margin-top:calc(7 * var(--u));background:#ffffff1a;border-radius:999px;display:block;overflow:hidden}.tf-viral-typing-progress>i>span{border-radius:inherit;background:linear-gradient(90deg, var(--tf-pink), #ff6687);height:100%;transition:width 80ms linear;display:block}.tf-viral-result-prompt-head{justify-content:space-between;align-items:center;gap:calc(8 * var(--u));margin-top:calc(12 * var(--u));display:flex}.tf-viral-result-prompt-head>span{color:var(--tf-muted);font-size:calc(8.5 * var(--u))}.tf-viral-result-prompt-head button{align-items:center;gap:calc(5 * var(--u));background:var(--tf-pink);color:#fff;padding:calc(7 * var(--u)) calc(11 * var(--u));font-size:calc(9 * var(--u));border-radius:999px;display:inline-flex}.tf-viral-result-prompt-head button svg{width:calc(9 * var(--u));height:calc(9 * var(--u))}.tf-viral-result-prompt-head button:disabled{cursor:wait;opacity:.58}.tf-viral-typing-caret{vertical-align:-.18em;background:var(--tf-pink);width:.16em;height:1.15em;margin-left:.12em;animation:.72s step-end infinite tf-viral-caret-blink;display:inline-block}@keyframes tf-viral-caret-blink{50%{opacity:0}}@media (width<=600px){.tf-viral-workspace{padding:14px}.tf-viral-title{flex-direction:column;align-items:flex-start}.tf-viral-fields{grid-template-columns:1fr}.tf-viral-actions button{flex:100%;justify-content:center;min-height:42px}.tf-viral-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tf-viral-character-copy{min-height:94px;padding:10px}.tf-viral-character-copy strong{font-size:15px}.tf-viral-character-copy>span,.tf-viral-character-copy small{font-size:12px}.tf-viral-config-layout{grid-template-columns:1fr;gap:12px}.tf-viral-selected-card{grid-template-columns:118px minmax(0,1fr);display:grid;position:relative;top:auto}.tf-viral-selected-card>img{aspect-ratio:auto;grid-row:1/span 2;height:100%;min-height:188px}.tf-viral-selected-card>small{padding:9px 11px}.tf-viral-selected-copy{padding:12px}.tf-viral-config-panel{padding:13px}.tf-viral-config-actions{grid-template-columns:1fr 1fr}.tf-viral-config-actions>span{display:none}.tf-viral-result-workspace{padding:10px}.tf-viral-result-layout{grid-template-columns:1fr;gap:12px}.tf-viral-result-reference{grid-template-columns:116px minmax(0,1fr);align-items:stretch;display:grid}.tf-viral-result-reference>img,.tf-viral-result-image-empty{aspect-ratio:auto;grid-row:1/span 2;height:100%;min-height:180px}.tf-viral-result-reference-copy{align-content:center;padding:12px}.tf-viral-download-reference{align-self:end;min-height:42px;margin:0 12px 12px}.tf-viral-result-panel{padding:13px}.tf-viral-result-prompt-head{flex-direction:column;align-items:stretch}.tf-viral-result-prompt-head button{justify-content:center;min-height:42px}}@media (width>=601px) and (width<=980px){.tf-viral-character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tf-viral-config-layout{grid-template-columns:minmax(180px,.72fr) minmax(0,2fr)}}
