.td-visualisation-start{position:relative;left:50%;width:100vw;max-width:none;transform:translateX(-50%);container-type:inline-size}.td-v3{--td-brand-primary:#42006a;--td-brand-accent:#8cfc30;--td-v3-canvas:#fbf9f5;--td-v3-surface:#fff;--td-v3-soft:#f4efe4;--td-v3-strong:#ebe2d5;--td-v3-ink:#1a151e;--td-v3-muted:#706777;--td-v3-line:#e4dbd1;--td-v3-line-strong:#c9b9ab;--td-v3-success:#2f6d27;--td-v3-success-soft:#e6f0df;--td-v3-danger:#963d36;--td-v3-danger-soft:#f7e3df;--td-v3-warning:#755000;--td-v3-warning-soft:#faefce;--td-v3-primary-soft:color-mix(in srgb,var(--td-brand-primary) 12%,white);min-width:320px;min-height:100dvh;background:var(--td-v3-canvas);color:var(--td-v3-ink);font:400 1rem/1.5 var(--font-sans,"DM Sans",Inter,system-ui,sans-serif);color-scheme:light}.td-v3 *{box-sizing:border-box}.td-v3 button,.td-v3 input,.td-v3 select,.td-v3 textarea{font:inherit}.td-v3 button:not(:disabled),.td-v3 label[for],.td-v3 .td-v3-file{cursor:pointer}.td-v3 img{display:block;max-width:100%}.td-v3 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.td-v3 ::selection{background:var(--td-brand-accent);color:color-mix(in srgb,var(--td-brand-primary) 82%,black)}.td-v3 :focus-visible{outline:3px solid color-mix(in srgb,var(--td-brand-primary) 52%,white);outline-offset:3px}.td-v3 ::-webkit-scrollbar{width:9px;height:9px}.td-v3 ::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:8px;background:color-mix(in srgb,var(--td-brand-primary) 26%,transparent);background-clip:padding-box}.td-v3 h1,.td-v3 h2,.td-v3 h3,.td-v3 p,.td-v3 dl,.td-v3 dd,.td-v3 figure{margin-top:0}.td-v3-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font-size:.875rem;font-weight:750;line-height:1.2;text-align:center;text-decoration:none;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.td-v3-button:hover:not(:disabled){transform:translateY(-1px)}.td-v3-button:disabled{border-color:var(--td-v3-line);background:#e9e4df;color:#817883;cursor:not-allowed}.td-v3-button--primary{background:var(--td-brand-accent);color:color-mix(in srgb,var(--td-brand-primary) 84%,black)}.td-v3-button--primary:hover:not(:disabled){background:color-mix(in srgb,var(--td-brand-accent) 88%,black)}.td-v3-button--brand{background:var(--td-brand-primary);color:white}.td-v3-button--brand:hover:not(:disabled){background:color-mix(in srgb,var(--td-brand-primary) 86%,black)}.td-v3-button--secondary{border-color:var(--td-v3-line-strong);background:var(--td-v3-surface);color:var(--td-brand-primary)}.td-v3-button--secondary:hover:not(:disabled){border-color:var(--td-brand-primary)}.td-v3-text-action{display:inline-flex;align-items:center;gap:7px;padding:4px 0;border:0;background:transparent;color:var(--td-brand-primary);font-weight:750;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.td-v3-text-action:hover{text-decoration-color:currentColor}.td-v3-status{display:inline-flex;align-items:center;width:max-content;min-height:26px;padding:4px 9px;border-radius:999px;background:var(--td-v3-strong);color:var(--td-v3-muted);font-size:.72rem;font-weight:750}.td-v3-status--ready{background:var(--td-v3-success-soft);color:var(--td-v3-success)}.td-v3-status--sent{background:var(--td-v3-primary-soft);color:var(--td-brand-primary)}.td-v3-status--progress{background:var(--td-brand-accent);color:color-mix(in srgb,var(--td-brand-primary) 84%,black)}.td-v3-status--warning{background:var(--td-v3-warning-soft);color:var(--td-v3-warning)}

.td-v3-header{display:flex;position:relative;z-index:20;align-items:center;justify-content:space-between;min-height:78px;padding:10px clamp(18px,3vw,48px);border-bottom:1px solid var(--td-v3-line);background:var(--td-v3-surface)}.td-v3-brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--td-brand-primary);font-weight:750;text-decoration:none}.td-v3-brand img{width:clamp(150px,15vw,214px);height:56px;object-fit:contain;object-position:left center}.td-v3-brand span{max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-v3-nav{display:flex;align-items:center;gap:clamp(8px,1.4vw,20px)}.td-v3-nav button{min-height:40px;padding:0 2px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--td-v3-muted);font-weight:650}.td-v3-nav button[aria-current="page"],.td-v3-nav button:hover{border-color:var(--td-brand-primary);color:var(--td-brand-primary)}.td-v3-credit{padding:8px 14px;border-radius:999px;background:var(--td-brand-accent);color:color-mix(in srgb,var(--td-brand-primary) 84%,black);font-size:.78rem;font-variant-numeric:tabular-nums;font-weight:750}.td-v3-avatar{display:grid;width:42px;aspect-ratio:1;place-items:center;border:0;border-radius:50%;background:var(--td-brand-primary);color:white;font-size:.75rem;font-weight:750}

.td-v3-auth{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);width:min(1100px,calc(100% - 36px));margin-inline:auto;padding:clamp(48px,8vw,110px) 0;gap:clamp(32px,6vw,80px)}.td-v3-auth__copy h1,.td-v3-library__intro h1,.td-v3-compare__head h1{margin-bottom:20px;font:400 clamp(2.6rem,6vw,5rem)/.98 var(--font-serif,"Instrument Serif",Georgia,serif);letter-spacing:-.025em}.td-v3-auth__copy>p{max-width:62ch;color:var(--td-v3-muted);font-size:1.08rem}.td-v3-preserved{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;margin-top:28px;padding:16px;gap:16px;border:1px solid var(--td-v3-line);border-radius:12px;background:var(--td-v3-surface)}.td-v3-preserved img{width:110px;aspect-ratio:1.15;object-fit:contain;border-radius:8px;background:var(--td-v3-soft)}.td-v3-preserved small,.td-v3-preserved strong,.td-v3-preserved span{display:block}.td-v3-preserved small{color:var(--td-v3-muted)}.td-v3-auth__privacy{display:flex;margin-top:24px;padding:16px;gap:12px;border-radius:10px;background:var(--td-v3-primary-soft);color:var(--td-brand-primary)}.td-v3-auth__privacy p{margin:4px 0 0;color:color-mix(in srgb,var(--td-brand-primary) 72%,#555)}.td-v3-auth__actions{align-self:start;padding:clamp(24px,4vw,38px);border:1px solid var(--td-v3-line);border-radius:14px;background:var(--td-v3-surface);box-shadow:0 24px 70px -50px color-mix(in srgb,var(--td-brand-primary) 55%,transparent)}.td-v3-auth__actions h2{margin-bottom:20px;font-size:1.35rem}.td-v3-auth__actions .td-v3-button{width:100%;margin-top:10px}.td-v3-auth__actions p{margin:18px 0 0;color:var(--td-v3-muted);font-size:.85rem}

.td-v3-library{min-height:calc(100dvh - 78px);background:var(--td-v3-canvas)}.td-v3-library__intro{display:flex;align-items:end;justify-content:space-between;width:min(1180px,calc(100% - 40px));margin-inline:auto;padding:clamp(38px,6vw,72px) 0 28px;gap:24px}.td-v3-library__intro h1{margin-bottom:8px}.td-v3-library__intro p{margin:0;color:var(--td-v3-muted)}.td-v3-library__list{display:grid;width:min(1180px,calc(100% - 40px));margin-inline:auto;padding:0 0 80px;gap:18px}.td-v3-session-card{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);overflow:hidden;border:1px solid var(--td-v3-line);border-radius:12px;background:var(--td-v3-surface)}.td-v3-session-card>img{width:100%;height:100%;min-height:220px;object-fit:cover;background:var(--td-v3-soft)}.td-v3-session-card__body{display:grid;padding:clamp(20px,3vw,30px);gap:20px}.td-v3-session-card__head{display:flex;align-items:start;justify-content:space-between;gap:20px}.td-v3-session-card h2{margin-bottom:4px;font-size:1.25rem}.td-v3-session-card p{margin:0;color:var(--td-v3-muted)}.td-v3-session-card dl{display:flex;margin:0;gap:36px}.td-v3-session-card dl div{display:grid;gap:2px}.td-v3-session-card dt{color:var(--td-v3-muted);font-size:.72rem}.td-v3-session-card dd{margin:0;font-size:.8rem;font-weight:750}.td-v3-session-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.td-v3-empty-library{display:grid;min-height:360px;place-items:center;padding:40px;border:1px dashed var(--td-v3-line-strong);border-radius:12px;text-align:center}.td-v3-empty-library p{color:var(--td-v3-muted)}

.td-v3-studio{height:100dvh;overflow:hidden;background:var(--td-v3-canvas)}.td-v3-workspace{display:grid;grid-template-columns:clamp(220px,19vw,300px) minmax(0,1fr) clamp(290px,23vw,340px);height:calc(100dvh - 78px);min-height:0}.td-v3-setup,.td-v3-session-rail{min-width:0;overflow-y:auto;background:var(--td-v3-surface)}.td-v3-setup{padding:24px 20px 34px;border-right:1px solid var(--td-v3-line)}.td-v3-session-rail{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border-left:1px solid var(--td-v3-line)}.td-v3-rail-head{padding-bottom:20px;border-bottom:1px solid var(--td-v3-line)}.td-v3-rail-head h2{margin-bottom:6px;font:400 1.9rem/1 var(--font-serif,"Instrument Serif",Georgia,serif)}.td-v3-rail-head p{margin:0;color:var(--td-v3-muted);font-size:.76rem}.td-v3-setup-group{padding:20px 0;border-bottom:1px solid var(--td-v3-line)}.td-v3-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.td-v3-group-head h3,.td-v3-setup-group>h3{margin:0;font-size:.82rem}.td-v3-file input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.td-v3-upload{display:grid;position:relative;min-height:148px;padding:20px 14px;place-items:center;border:1px dashed var(--td-v3-line-strong);border-radius:8px;color:var(--td-brand-primary);text-align:center;overflow:hidden}.td-v3-upload img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.td-v3-upload span{position:relative;z-index:1;padding:7px 10px;border-radius:7px;background:color-mix(in srgb,white 90%,transparent);font-size:.75rem;font-weight:750}.td-v3-route{display:grid;grid-template-columns:1fr 1fr;margin-top:10px;padding:4px;gap:4px;border-radius:10px;background:var(--td-v3-soft)}.td-v3-route button{min-height:38px;padding:7px;border:0;border-radius:7px;background:transparent;color:var(--td-v3-muted);font-size:.7rem;font-weight:750}.td-v3-route button[aria-pressed="true"]{background:var(--td-brand-primary);color:white}.td-v3-selected{display:grid;margin-top:12px;padding:10px;gap:8px;border:1px solid var(--td-v3-line);border-radius:10px}.td-v3-selected__main{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px}.td-v3-selected img{width:64px;aspect-ratio:1.1;object-fit:contain;border-radius:7px;background:var(--td-v3-soft)}.td-v3-selected strong,.td-v3-selected small{display:block}.td-v3-selected strong{font-size:.78rem}.td-v3-selected small{color:var(--td-v3-muted);font-size:.7rem}.td-v3-field{display:grid;margin-top:14px;gap:6px;color:var(--td-v3-muted);font-size:.74rem}.td-v3-field>span{font-weight:650}.td-v3-field input,.td-v3-field select,.td-v3-field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--td-v3-line-strong);border-radius:7px;background:white;color:var(--td-v3-ink)}.td-v3-field textarea{min-height:90px;resize:vertical}.td-v3-field small{line-height:1.35}.td-v3-setup-note{margin:18px 0 0;color:var(--td-v3-muted);font-size:.7rem}.td-v3-own{display:grid;margin-top:12px;gap:10px}.td-v3-own .td-v3-upload{min-height:112px}

.td-v3-history{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;background:var(--td-v3-canvas)}.td-v3-history__head{display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:13px clamp(18px,2.4vw,36px);gap:20px;border-bottom:1px solid var(--td-v3-line);background:color-mix(in srgb,var(--td-v3-canvas) 94%,white)}.td-v3-history__head h1{margin:0 0 2px;font-size:1.3rem;line-height:1.15}.td-v3-history__head p{margin:0;color:var(--td-v3-muted);font-size:.72rem}.td-v3-mobile-setup,.td-v3-mobile-composer{display:none}.td-v3-history__scroll{min-height:0;overflow-y:auto;padding:24px clamp(18px,2vw,28px) 48px;scroll-padding-top:24px}.td-v3-history-entry{width:min(100%,860px);margin:0 auto 38px;scroll-margin-top:24px}.td-v3-generation{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,.9fr);align-items:start;gap:20px}.td-v3-generation__media{overflow:hidden;position:relative;border-radius:10px;background:#e7e1dc}.td-v3-generation__media img{width:100%;max-height:590px;aspect-ratio:1.16;object-fit:cover}.td-v3-icon-button{display:grid;place-items:center;border:1px solid var(--td-v3-line);border-radius:50%;background:color-mix(in srgb,white 92%,transparent);color:var(--td-brand-primary)}.td-v3-generation__media .td-v3-icon-button{position:absolute;top:12px;right:12px;width:38px;aspect-ratio:1;box-shadow:0 6px 18px color-mix(in srgb,var(--td-brand-primary) 15%,transparent)}.td-v3-generation__actions{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;gap:8px}.td-v3-generation__actions .td-v3-button{width:100%;min-height:40px;padding:8px 10px;font-size:.72rem}.td-v3-generation__actions .td-v3-text-action{grid-column:1/-1;justify-content:center}.td-v3-generation__info header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:14px}.td-v3-generation__info header small{display:block;color:var(--td-v3-muted)}.td-v3-generation__info header h2{margin:2px 0 0;font-size:1rem}.td-v3-prompt{display:grid;padding-bottom:12px;gap:5px;border-bottom:1px solid var(--td-v3-line)}.td-v3-prompt span{color:var(--td-v3-muted);font-size:.72rem;font-weight:750}.td-v3-prompt p{margin:0;font-size:.86rem;font-weight:650}.td-v3-meta{display:grid;margin:0;padding:10px 0;border-bottom:1px solid var(--td-v3-line)}.td-v3-meta div{display:grid;grid-template-columns:68px minmax(0,1fr);padding:7px 0;gap:10px;border-bottom:1px solid color-mix(in srgb,var(--td-v3-line) 70%,transparent)}.td-v3-meta div:last-child{border:0}.td-v3-meta dt{color:var(--td-v3-muted);font-size:.7rem}.td-v3-meta dd{display:grid;margin:0;gap:2px;font-size:.75rem;font-weight:750}.td-v3-meta dd span{color:var(--td-v3-muted);font-weight:400}.td-v3-disclaimer{margin:14px 0 0;color:var(--td-v3-muted);font-size:.7rem}.td-v3-history-empty{display:grid;min-height:460px;margin:42px auto;padding:50px;place-items:center;align-content:center;border:1px dashed var(--td-v3-line-strong);border-radius:10px;text-align:center}.td-v3-history-empty__icon{display:grid;width:56px;aspect-ratio:1;margin-bottom:20px;place-items:center;border-radius:50%;background:var(--td-v3-primary-soft);color:var(--td-brand-primary)}.td-v3-history-empty h2{margin-bottom:8px;font:400 2rem/1 var(--font-serif,"Instrument Serif",Georgia,serif)}.td-v3-history-empty p{max-width:44ch;color:var(--td-v3-muted)}.td-v3-generating{min-height:360px;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,.9fr);align-items:center;gap:20px}.td-v3-skeleton{position:relative;aspect-ratio:1.16;overflow:hidden;border-radius:10px;background:#e4ded9}.td-v3-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.76),transparent);animation:td-v3-sweep 1.4s infinite}.td-v3-generating__steps{display:grid;gap:14px}.td-v3-generating__steps p{margin:0;color:var(--td-v3-muted);font-size:.74rem}.td-v3-failure{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;padding:24px;gap:18px;border-radius:10px;background:var(--td-v3-danger-soft)}.td-v3-failure h2{margin:3px 0 5px;font-size:1.1rem}.td-v3-failure p{margin:0;color:var(--td-v3-muted);font-size:.78rem}

.td-v3-composer{padding:16px 18px 20px;background:var(--td-v3-surface)}.td-v3-composer__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:10px}.td-v3-composer__top div{display:grid}.td-v3-composer__top span,.td-v3-composer__top button{color:var(--td-v3-muted);font-size:.7rem}.td-v3-composer__top strong{color:var(--td-brand-primary);font-size:.72rem}.td-v3-composer__controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:9px;gap:10px}.td-v3-composer__item{grid-column:1/-1;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;padding:0;gap:9px;border:0;background:transparent;text-align:left}.td-v3-composer__item img{width:46px;aspect-ratio:1.15;object-fit:contain;border-radius:6px;background:var(--td-v3-soft)}.td-v3-composer__item span{display:grid;min-width:0}.td-v3-composer__item strong,.td-v3-composer__item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-v3-composer__item small{color:var(--td-v3-muted)}.td-v3-composer__cost{display:grid;min-width:86px;font-size:.75rem;font-weight:750}.td-v3-composer__cost small{color:var(--td-v3-muted);font-weight:400}.td-v3-composer__alert{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:10px;padding:10px 12px;gap:10px;border-radius:9px;background:var(--td-v3-warning-soft);color:var(--td-v3-warning);font-size:.72rem}.td-v3-session-rail__composer{overflow-y:auto;border-bottom:1px solid var(--td-v3-line)}.td-v3-session-rail__composer>.td-v3-rail-head{margin:0 18px;padding:20px 0 14px}.td-v3-previous{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;padding:18px;gap:12px}.td-v3-previous__head{display:flex;align-items:end;justify-content:space-between;gap:10px}.td-v3-previous__head h2,.td-v3-previous__head p{margin:0}.td-v3-previous__head h2{font-size:1rem}.td-v3-previous__head p{color:var(--td-v3-muted);font-size:.7rem}.td-v3-previous__list{min-height:0;overflow-y:auto}.td-v3-previous__row{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;padding:9px;gap:10px;border:1px solid transparent;border-radius:9px;color:inherit;text-decoration:none}.td-v3-previous__row:hover,.td-v3-previous__row[aria-current="true"]{border-color:var(--td-v3-line);background:var(--td-v3-soft)}.td-v3-previous__row img{width:58px;aspect-ratio:1.15;object-fit:cover;border-radius:6px;background:var(--td-v3-strong)}.td-v3-previous__row strong,.td-v3-previous__row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-v3-previous__row strong{font-size:.74rem}.td-v3-previous__row small{color:var(--td-v3-muted);font-size:.68rem}

.td-v3-dialog{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:clamp(14px,4vw,42px);background:rgba(20,12,25,.58)}.td-v3-dialog__shell{width:min(960px,100%);max-height:min(820px,calc(100dvh - 28px));overflow:auto;padding:clamp(20px,3vw,34px);border-radius:14px;background:white;box-shadow:0 24px 80px rgba(26,21,30,.24)}.td-v3-dialog__head{display:flex;align-items:start;justify-content:space-between;gap:20px}.td-v3-dialog__head h2{margin-bottom:5px;font-size:1.4rem}.td-v3-dialog__head p{margin:0;color:var(--td-v3-muted)}.td-v3-dialog__close{width:40px;aspect-ratio:1;border:1px solid var(--td-v3-line);border-radius:50%;background:white;color:var(--td-brand-primary)}.td-v3-catalogue-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.35fr);margin-top:24px;gap:12px}.td-v3-catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px;gap:12px}.td-v3-product{display:grid;grid-template-rows:auto 1fr;padding:10px;border:1px solid var(--td-v3-line);border-radius:10px;background:white;text-align:left}.td-v3-product:hover:not(:disabled){border-color:var(--td-brand-primary)}.td-v3-product:disabled{opacity:.5}.td-v3-product img{width:100%;aspect-ratio:1.1;object-fit:contain;border-radius:7px;background:var(--td-v3-soft)}.td-v3-product strong,.td-v3-product small{display:block}.td-v3-product strong{margin-top:9px}.td-v3-product small{color:var(--td-v3-muted)}.td-v3-compare{min-height:100dvh;background:var(--td-v3-canvas)}.td-v3-compare__head{display:flex;align-items:end;justify-content:space-between;width:min(1180px,calc(100% - 40px));margin-inline:auto;padding:40px 0 24px;gap:20px}.td-v3-compare__head h1{margin-bottom:4px}.td-v3-compare__head p{margin:0;color:var(--td-v3-muted)}.td-v3-compare__content{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.38fr);width:min(1180px,calc(100% - 40px));margin-inline:auto;padding-bottom:70px;gap:22px}.td-v3-compare__stage{position:relative;overflow:hidden;border-radius:12px;background:#ddd}.td-v3-compare__stage>img{width:100%;aspect-ratio:1.35;object-fit:cover}.td-v3-compare__original{position:absolute;inset:0 50% 0 0;overflow:hidden}.td-v3-compare__original img{width:calc(200%);max-width:none;height:100%;object-fit:cover}.td-v3-compare__line{position:absolute;inset:0 auto 0 50%;width:2px;background:white;box-shadow:0 0 0 1px rgba(0,0,0,.2)}.td-v3-compare__labels{position:absolute;inset:14px 14px auto;display:flex;justify-content:space-between}.td-v3-compare__labels span{padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.9);font-size:.72rem;font-weight:750}.td-v3-compare__summary{align-self:start;padding:22px;border:1px solid var(--td-v3-line);border-radius:12px;background:white}.td-v3-compare__summary p{color:var(--td-v3-muted)}.td-v3-toast-region{position:fixed;z-index:200;right:18px;bottom:18px;display:grid;width:min(360px,calc(100% - 36px));gap:8px;pointer-events:none}.td-v3-toast{padding:13px 16px;border-radius:10px;background:color-mix(in srgb,var(--td-brand-primary) 84%,#1a151e);color:white;font-size:.75rem;box-shadow:0 12px 32px rgba(26,21,30,.24)}.td-v3-toast--error{background:var(--td-v3-danger)}.td-v3-notice{width:min(820px,calc(100% - 40px));margin:40px auto;padding:18px;border:1px solid var(--td-v3-line);border-radius:10px;background:white}.td-v3-notice--error{border-color:var(--td-v3-danger);background:var(--td-v3-danger-soft);color:var(--td-v3-danger)}

@keyframes td-v3-sweep{to{transform:translateX(100%)}}@media(max-width:1100px){.td-v3-workspace{grid-template-columns:clamp(210px,24vw,280px) minmax(0,1fr)}.td-v3-session-rail{display:none}.td-v3-mobile-composer{display:block;border-top:1px solid var(--td-v3-line)}.td-v3-history{grid-template-rows:auto minmax(0,1fr) auto}}@media(max-width:820px){.td-v3-header{min-height:auto;align-items:flex-start;padding-block:12px}.td-v3-brand img{width:150px;height:44px}.td-v3-nav button{display:none}.td-v3-auth{grid-template-columns:1fr}.td-v3-workspace{grid-template-columns:1fr;height:auto}.td-v3-studio{height:auto;overflow:visible}.td-v3-setup{display:none;border:0}.td-v3-setup[data-mobile-open="true"]{display:block}.td-v3-history{min-height:calc(100dvh - 70px)}.td-v3-mobile-setup{display:inline-flex}.td-v3-generation,.td-v3-generating{grid-template-columns:1fr}.td-v3-generation__media img{aspect-ratio:1.25}.td-v3-library__intro{align-items:start;flex-direction:column}.td-v3-session-card{grid-template-columns:1fr}.td-v3-session-card>img{max-height:300px}.td-v3-compare__content{grid-template-columns:1fr}.td-v3-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.td-v3-header{gap:10px}.td-v3-brand span{display:none}.td-v3-nav{gap:7px}.td-v3-credit{padding:7px 9px}.td-v3-avatar{width:36px}.td-v3-auth,.td-v3-library__intro,.td-v3-library__list,.td-v3-compare__head,.td-v3-compare__content{width:min(100% - 28px,1180px)}.td-v3-auth{padding-block:36px}.td-v3-preserved{grid-template-columns:76px minmax(0,1fr)}.td-v3-preserved img{width:76px}.td-v3-history__head{align-items:flex-start;flex-direction:column}.td-v3-history__scroll{padding:18px 14px 34px}.td-v3-generation__actions{grid-template-columns:1fr}.td-v3-generation__actions .td-v3-text-action{grid-column:auto}.td-v3-composer__controls{grid-template-columns:1fr}.td-v3-composer__cost{min-width:0}.td-v3-composer .td-v3-button{width:100%}.td-v3-failure{grid-template-columns:1fr}.td-v3-catalogue-tools,.td-v3-catalogue-grid{grid-template-columns:1fr}.td-v3-dialog{padding:0}.td-v3-dialog__shell{min-height:100dvh;max-height:100dvh;border-radius:0}.td-v3-compare__head{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.td-v3 *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.td-visualisation-start.td-visualisation-start{left:auto;width:100%;max-width:100%;min-width:0;transform:none;overflow-x:clip}.td-v3-generation__media .td-v3-icon-button.td-v3-preview-button{position:absolute;z-index:3;top:14px;right:14px;width:44px;min-width:44px;height:44px;padding:0;border:1px solid color-mix(in srgb,var(--td-brand-primary) 28%,var(--td-v3-line));background:rgba(255,255,255,.96);color:var(--td-brand-primary);box-shadow:0 8px 24px rgba(26,21,30,.22)}.td-v3-generation__media .td-v3-icon-button.td-v3-preview-button:hover{transform:scale(1.04);border-color:var(--td-brand-primary);background:white}.td-v3-generation__media .td-v3-icon-button.td-v3-preview-button svg{width:21px;height:21px;stroke-width:2}
.td-v3 .td-v3-workspace{position:relative;grid-template-columns:var(--td-v3-setup-width,236px) minmax(0,1fr) clamp(290px,23vw,340px)}.td-v3-setup-resizer{display:grid;position:absolute;z-index:25;top:0;bottom:0;left:calc(var(--td-v3-setup-width,236px) - 6px);width:12px;place-items:center;cursor:ew-resize;touch-action:none}.td-v3-setup-resizer::before{content:"";position:absolute;inset-block:0;width:1px;background:var(--td-v3-line-strong)}.td-v3-setup-resizer span{position:relative;width:4px;height:46px;border-radius:999px;background:var(--td-v3-primary-soft);box-shadow:0 0 0 1px var(--td-v3-line)}.td-v3-setup-resizer:hover span,.td-v3-setup-resizer:focus-visible span,.td-v3-setup-resizer.is-dragging span{background:var(--td-brand-primary)}
@media(max-width:1100px){.td-v3 .td-v3-workspace{grid-template-columns:min(var(--td-v3-setup-width,220px),220px) minmax(0,1fr)}}@media(max-width:900px){.td-v3-setup-resizer{display:none}}@media(max-width:820px){.td-v3 .td-v3-workspace{grid-template-columns:1fr}}

/* Studio controls must remain self-contained when embedded in Elementor. */
.td-v3 button.td-v3-button--brand,.td-v3 a.td-v3-button--brand{background-color:var(--td-brand-primary)!important;background-image:none!important;border-color:var(--td-brand-primary)!important;color:#fff!important;text-shadow:none!important}.td-v3 button.td-v3-button--brand:hover:not(:disabled),.td-v3 button.td-v3-button--brand:focus-visible,.td-v3 a.td-v3-button--brand:hover,.td-v3 a.td-v3-button--brand:focus-visible{background-color:color-mix(in srgb,var(--td-brand-primary) 86%,black)!important;border-color:color-mix(in srgb,var(--td-brand-primary) 86%,black)!important;color:#fff!important}.td-v3 button.td-v3-dialog__close{background-color:var(--td-v3-surface)!important;background-image:none!important;border-color:var(--td-v3-line)!important;color:var(--td-brand-primary)!important;text-shadow:none!important}.td-v3 button.td-v3-dialog__close:hover,.td-v3 button.td-v3-dialog__close:focus-visible{background-color:var(--td-v3-primary-soft)!important;border-color:var(--td-brand-primary)!important;color:var(--td-brand-primary)!important}.td-v3 .td-v3-button--unavailable{cursor:pointer}.td-v3 .td-v3-setup{container-type:inline-size}.td-v3 .td-v3-route{min-width:0}.td-v3 .td-v3-route button{min-width:0;white-space:normal!important;overflow-wrap:anywhere;line-height:1.18}.td-v3 .td-v3-composer__item{min-width:0;padding:10px 12px!important;border:1px solid var(--td-v3-line)!important;border-radius:8px!important;background:var(--td-v3-surface)!important;color:var(--td-brand-primary)!important}.td-v3 .td-v3-composer__item:hover,.td-v3 .td-v3-composer__item:focus-visible{border-color:var(--td-brand-primary)!important;background:var(--td-v3-primary-soft)!important;color:var(--td-brand-primary)!important}.td-v3 .td-v3-composer__item strong{color:var(--td-brand-primary)!important}.td-v3 .td-v3-composer__item svg{color:var(--td-brand-primary)!important}.td-v3 .td-v3-product__media{position:relative;min-width:0}.td-v3 .td-v3-product__media>img{width:100%;aspect-ratio:1.1;object-fit:contain;border-radius:7px;background:var(--td-v3-soft)}.td-v3 .td-v3-product__price{position:absolute;right:8px;bottom:8px;max-width:calc(100% - 16px);overflow:hidden;padding:5px 8px;border-radius:999px;background:rgba(26,21,30,.86);color:#fff;font-size:.72rem;font-weight:750;line-height:1.15;overflow-wrap:anywhere}.td-v3 .td-v3-product .td-v3-button--brand{margin-top:10px}.td-v3 .td-v3-provider-help{width:min(480px,100%)}.td-v3 .td-v3-provider-help__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;margin-top:24px;gap:10px}.td-v3 .td-v3-dialog__backdrop{cursor:default}.td-v3 .td-v3-dialog__backdrop .td-v3-dialog__shell{cursor:auto}
@container (max-width:260px){.td-v3 .td-v3-route{gap:3px;padding:3px}.td-v3 .td-v3-route button{min-height:42px;padding:6px 4px;font-size:.66rem}.td-v3 .td-v3-composer__item{grid-template-columns:38px minmax(0,1fr);padding:8px!important}.td-v3 .td-v3-composer__item img{width:38px}.td-v3 .td-v3-composer__item strong,.td-v3 .td-v3-composer__item small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}}
.td-v3 .td-v3-compare__original{inset:0 calc(100% - var(--td-v3-compare,50%)) 0 0}.td-v3 .td-v3-compare__line{left:var(--td-v3-compare,50%)}.td-v3-compare__controls{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;margin-top:14px;gap:12px}.td-v3-compare__controls label{display:grid;gap:4px;color:var(--td-v3-muted);font-size:.72rem}.td-v3-compare__controls input{width:100%;accent-color:var(--td-brand-primary)}@media(max-width:560px){.td-v3-compare__controls{grid-template-columns:1fr 1fr}.td-v3-compare__controls label{grid-column:1/-1;grid-row:1}}
.td-v3-variation-source{max-width:100%;padding:4px 8px;border:0;border-radius:999px;background:var(--td-v3-primary-soft);color:var(--td-brand-primary);font-size:.68rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-v3-session-map{display:none}.td-v3-session-map button{display:grid;flex:0 0 74px;padding:4px;gap:3px;border:1px solid var(--td-v3-line);border-radius:8px;background:white;color:var(--td-v3-ink);font-size:.65rem}.td-v3-session-map img{width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:5px}.td-v3-session-map em{color:var(--td-brand-primary);font-style:normal;font-weight:750}@media(max-width:820px){.td-v3 .td-v3-history{grid-template-rows:auto auto minmax(0,1fr) auto}.td-v3-session-map{display:flex;overflow-x:auto;padding:10px 14px;gap:8px;border-bottom:1px solid var(--td-v3-line);background:white}}
.td-v3-dialog__shell{width:min(1060px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);overflow-x:clip}.td-v3-catalogue-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:start}.td-v3 .td-v3-product{height:auto;align-content:start;gap:10px}.td-v3 .td-v3-product>.td-v3-button{width:100%;margin-top:auto}.td-v3-catalogue-count{margin:16px 0 0;color:var(--td-v3-muted);font-size:.75rem}
.td-v3-group-actions{display:flex;align-items:center;gap:8px}.td-v3-room-preview{width:32px;min-width:32px;height:32px;padding:0}.td-v3-room-preview svg{width:17px;height:17px}.td-v3-progress-step{display:flex;align-items:center;gap:9px;color:var(--td-v3-muted);font-size:.75rem}.td-v3-progress-step>span{width:9px;height:9px;border-radius:50%;background:var(--td-v3-line-strong)}.td-v3-progress-step svg{width:18px;height:18px}.td-v3-progress-step--done{color:var(--td-v3-success)}.td-v3-progress-step--active{color:var(--td-v3-ink);font-weight:750}.td-v3-progress-step--active>span{background:var(--td-brand-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--td-brand-accent) 22%,transparent)}.td-v3-failure span,.td-v3-failure strong{display:block}.td-v3-failure span{color:var(--td-v3-danger);font-size:.7rem;font-weight:750}.td-v3-failure strong{margin-top:7px;color:var(--td-v3-danger);font-size:.75rem}.td-v3-previous__row em{display:block;overflow:hidden;color:var(--td-v3-muted);font-size:.65rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.td-v3-previous{grid-template-rows:auto minmax(0,1fr) auto}.td-v3-previous__open{width:100%}.td-v3-product__variations{display:flex;margin:0;padding:0;gap:8px;border:0;overflow-x:auto}.td-v3-product__variations legend{margin-bottom:7px;color:var(--td-v3-muted);font-size:.7rem;font-weight:750}.td-v3-product__variations label{flex:0 0 82px;cursor:pointer}.td-v3-product__variations input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.td-v3-product__variations label>span{display:grid;padding:5px;gap:4px;border:1px solid var(--td-v3-line);border-radius:8px}.td-v3-product__variations input:checked+span{border-color:var(--td-brand-primary);box-shadow:0 0 0 2px var(--td-v3-primary-soft)}.td-v3-product__variations img{width:100%;aspect-ratio:1.15;object-fit:contain;border-radius:5px;background:var(--td-v3-soft)}.td-v3-product__variations em{overflow:hidden;color:var(--td-v3-ink);font-size:.62rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}
.td-v3 .td-v3-composer__item{grid-template-columns:46px minmax(0,1fr) auto}.td-v3-composer__item>svg{width:17px;height:17px;color:var(--td-brand-primary)}.td-v3-composer__alert>span{display:grid;gap:2px}.td-v3-composer__alert strong{color:var(--td-v3-warning)}.td-v3-composer__alert small{color:var(--td-v3-muted)}
@media(max-width:820px){.td-v3-mobile-setup svg{transition:transform .16s ease}.td-v3-mobile-setup[aria-expanded="true"] svg{transform:rotate(180deg)}.td-v3-mobile-composer{position:fixed;z-index:80;right:0;bottom:0;left:0;max-height:min(48dvh,390px);overflow-y:auto;padding-bottom:max(0px,env(safe-area-inset-bottom));border-top:1px solid var(--td-v3-line);box-shadow:0 -16px 40px rgba(26,21,30,.12);background:var(--td-v3-surface)}.td-v3-history__scroll{padding-bottom:clamp(330px,48dvh,410px);scroll-padding-bottom:clamp(330px,48dvh,410px)}.td-v3-generation__actions{scroll-margin-bottom:clamp(330px,48dvh,410px)}}

/* Royal Design application typography: UI token only, never the theme font. */
.td-v3,.td-v3 button,.td-v3 input,.td-v3 select,.td-v3 textarea{font-family:var(--font-ui)!important;letter-spacing:var(--tracking)}
.td-v3 h1{font:var(--type-h1);letter-spacing:var(--tracking)}
.td-v3 h2{font:var(--type-h2);letter-spacing:var(--tracking)}
.td-v3 h3{font:var(--type-h3);letter-spacing:var(--tracking)}
.td-v3 .td-v3-button,.td-v3 .td-v3-text-action{font:var(--type-button);letter-spacing:var(--tracking);font-weight:var(--weight-semibold)}
.td-v3 .td-v3-auth__copy h1,.td-v3 .td-v3-library__intro h1,.td-v3 .td-v3-compare__head h1,.td-v3 .td-v3-rail-head h2,.td-v3 .td-v3-history-empty h2{font-family:var(--font-ui);font-weight:var(--weight-semibold);letter-spacing:var(--tracking)}

/* A chooser is an adaptive grid. Only visual products enter it; cards stay usable at every width. */
.td-v3 .td-v3-catalogue-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,236px),1fr));align-items:stretch}
.td-v3 .td-v3-product{display:flex;flex-direction:column;min-width:0;gap:10px}
.td-v3 .td-v3-product>.td-v3-button{min-height:44px;color:#fff!important;opacity:1!important;visibility:visible!important}
.td-v3 .td-v3-product__media>img{object-fit:cover}
.td-v3 .td-v3-product__price{font:var(--type-caption);letter-spacing:var(--tracking);font-variant-numeric:var(--numeric-tabular)}
.td-v3 .td-v3-dialog__shell{overscroll-behavior:contain}
@media(max-width:420px){.td-v3 .td-v3-route{grid-template-columns:1fr}.td-v3 .td-v3-route button{min-height:42px}.td-v3 .td-v3-dialog__head{gap:12px}.td-v3 .td-v3-dialog__close{flex:0 0 40px}}
