.tt-body{background:var(--bg-0);min-height:100vh}.tt-wrap{max-width:1180px;padding:var(--space-md);margin:0 auto}.tt-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.tt-head{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.tt-brand{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-md);color:var(--ink-bright);white-space:nowrap;text-decoration:none}.tt-brand:hover{color:var(--accent)}.tt-search{flex:1;max-width:460px;margin-left:auto;position:relative}.tt-search svg{width:16px;height:16px;color:var(--ink-dim);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tt-search input{width:100%;min-height:40px;font:var(--text-sm) / 1.2 var(--font-body);color:var(--ink);background:var(--surface-1);border:1px solid var(--stroke-strong);border-radius:var(--radius-control,8px);transition:border-color var(--duration-fast), background var(--duration-fast);padding:8px 12px 8px 36px}.tt-search input:hover{border-color:var(--ink-dim)}.tt-search input:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring-color,#3b82f6);outline-offset:1px;border-color:var(--accent)}.tt-grid{gap:var(--space-md);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.tt-stage{aspect-ratio:4/3;background:radial-gradient(ellipse at 50% 85%, var(--surface-2), var(--surface-1) 70%);border:1px solid var(--stroke);border-radius:var(--radius-card,14px);width:100%;max-height:66vh;position:relative;overflow:hidden}.tt-stage agent-3d{opacity:0;width:100%;height:100%;transition:opacity var(--duration-base);position:absolute;inset:0}.tt-stage agent-3d.is-ready{opacity:1}.tt-stage-skel{border-radius:0;position:absolute;inset:0}.tt-stage-note{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-lg);text-align:center;color:var(--ink-dim);flex-direction:column;line-height:1.5;display:flex;position:absolute;inset:0}.tt-stage-note strong{color:var(--ink-bright);font-size:var(--text-md)}.tt-card{margin-top:var(--space-sm);padding:var(--space-md);background:var(--surface-1);border:1px solid var(--stroke);border-radius:var(--radius-card,14px)}.tt-card-top{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);flex-wrap:wrap;display:flex}.tt-card h1{font-family:var(--font-display);font-size:var(--text-lg);color:var(--ink-bright);margin:0;line-height:1.2}.tt-headline{color:var(--ink-dim);font-size:var(--text-sm);margin:4px 0 0;line-height:1.5}.tt-desc{color:var(--ink);margin:var(--space-sm) 0 0;font-size:var(--text-sm);line-height:1.55}.tt-stats{gap:var(--space-sm) var(--space-lg);margin:var(--space-sm) 0 0;flex-wrap:wrap;padding:0;display:flex}.tt-stats div{min-width:90px}.tt-stats dt{font-size:var(--text-xs);color:var(--ink-dim)}.tt-stats dd{font-size:var(--text-md);color:var(--ink-bright);font-variant-numeric:tabular-nums;margin:2px 0 0}.tt-btn{min-height:36px;font:var(--weight-medium) var(--text-sm) / 1 var(--font-body);color:var(--on-accent);background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-control,8px);white-space:nowrap;cursor:pointer;transition:filter var(--duration-fast), transform var(--duration-instant);justify-content:center;align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}.tt-btn:hover{filter:brightness(1.08)}.tt-btn:active{transform:translateY(1px)}.tt-btn.is-ghost{color:var(--ink);background:var(--surface-2);border-color:var(--stroke-strong)}.tt-btn.is-ghost:hover{background:var(--surface-3);border-color:var(--ink-dim);filter:none}.tt-btn:focus-visible,.tt-brand:focus-visible,.tt-item:focus-visible,.tt-wrap a:focus-visible{outline:var(--focus-ring-width,2px) solid var(--focus-ring-color,#3b82f6);outline-offset:var(--focus-ring-offset,2px)}.tt-list-title{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 var(--space-xs);font-weight:var(--weight-medium)}.tt-list{flex-direction:column;gap:6px;max-height:calc(66vh + 120px);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.tt-item{text-align:left;width:100%;font:inherit;color:var(--ink);background:var(--surface-1);border:1px solid var(--stroke);border-radius:var(--radius-control,8px);cursor:pointer;transition:border-color var(--duration-fast), background var(--duration-fast), transform var(--duration-instant);align-items:center;gap:10px;padding:8px 10px;display:flex}.tt-item:hover{border-color:var(--stroke-strong);background:var(--surface-2)}.tt-item:active{transform:translateY(1px)}.tt-item[aria-current=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface-1))}.tt-thumb{object-fit:cover;background:var(--surface-3);width:40px;height:40px;font-weight:var(--weight-semibold);color:var(--ink-bright);border-radius:8px;flex:none;place-items:center;display:grid}.tt-item-text{flex-direction:column;gap:2px;min-width:0;display:flex}.tt-item-name{color:var(--ink-bright);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tt-item-desc{color:var(--ink-dim);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tt-empty{padding:var(--space-md);color:var(--ink-dim);font-size:var(--text-sm);background:var(--surface-1);border:1px dashed var(--stroke-strong);border-radius:var(--radius-card,14px);line-height:1.5}.tt-empty p{margin:0 0 var(--space-sm)}.tt-empty p:last-child{margin-bottom:0}.tt-skel{background:var(--skeleton-base);background-image:linear-gradient(90deg, var(--skeleton-base) 0%, var(--skeleton-sheen) 50%, var(--skeleton-base) 100%);border-radius:var(--radius-control,8px);background-size:200% 100%;animation:1.4s ease-in-out infinite tt-shimmer}.tt-skel.is-row{height:58px}.tt-skel.is-line{max-width:280px;height:22px}.tt-skel.is-line+.tt-skel.is-line{margin-top:10px}.tt-skel.is-short{max-width:180px;height:14px}@keyframes tt-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.tt-skel{animation:none}.tt-stage agent-3d{transition:none}}@media (width<=760px){.tt-grid{grid-template-columns:1fr}.tt-list{max-height:none}.tt-head{flex-wrap:wrap}.tt-search{flex-basis:100%;max-width:none;margin-left:0}}
