/* BDK Toolverse: hub, category pages and My BDK Tools. Uses the site tokens (--bdk-*), so it follows html[data-theme].
   Motion is CSS only, slow, and switched off by prefers-reduced-motion. */
.tv-page{--tv-line:color-mix(in srgb,var(--bdk-ink) 14%,transparent);--tv-soft:color-mix(in srgb,var(--bdk-ink) 6%,transparent);--tv-ease:cubic-bezier(.2,.7,.2,1)}
.tv-page .wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.tv-page [hidden]{display:none!important}
.tv-sr,.tv-page label[for="tv-q"],.tv-catfilters label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------- hero ---------------- */
.page-hero.tv-hero{padding:0;min-height:0}
.tv-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:28px;align-items:center;padding:clamp(34px,5vw,64px) 0 clamp(30px,4.5vw,56px)}
.tv-hero-slim .wrap{padding:clamp(30px,4vw,50px) 0}
.tv-hero h1{font-size:clamp(38px,5.6vw,66px);line-height:1.02;letter-spacing:-.025em;margin:6px 0 10px}
.tv-tagline{font-size:clamp(18px,2.1vw,24px);font-weight:700;margin:0 0 10px;color:var(--bdk-brand-text,var(--bdk-brand))}
html[data-theme="light"] .tv-tagline{color:#b45309}
.tv-lead{max-width:56ch;font-size:clamp(15px,1.4vw,17px);line-height:1.6;margin:0 0 20px;opacity:.9}
.tv-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.tv-bg i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.28;animation:tv-drift 38s ease-in-out infinite alternate}
.tv-bg i:nth-child(1){width:380px;height:380px;left:-6%;top:-20%;background:#10b981}
.tv-bg i:nth-child(2){width:420px;height:420px;right:4%;top:-26%;background:#8b5cf6;animation-duration:46s;animation-direction:alternate-reverse}
.tv-bg i:nth-child(3){width:360px;height:360px;right:30%;bottom:-40%;background:#3b82f6;animation-duration:52s}
html[data-theme="light"] .tv-bg i{opacity:.16}
@keyframes tv-drift{to{transform:translate3d(60px,34px,0) scale(1.08)}}

/* search */
.tv-search-box{position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:0 14px 0 16px;border-radius:18px;border:1.5px solid var(--bdk-stroke);background:var(--bdk-surface);color:var(--bdk-ink);box-shadow:var(--bdk-shadow);transition:border-color .18s,box-shadow .18s}
.tv-search-box:focus-within{border-color:var(--bdk-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--bdk-brand) 22%,transparent)}
.tv-search-box svg{flex:none;color:var(--bdk-muted)}
.tv-search-box input{flex:1;min-width:0;border:0;background:none;color:inherit;font:inherit;font-size:17px;min-height:54px;outline:none}
.tv-search-box input::placeholder{color:var(--bdk-muted)}
.tv-search-box input::-webkit-search-cancel-button{display:none}
.tv-clear{appearance:none;border:0;background:var(--tv-soft);color:var(--bdk-ink);width:32px;height:32px;border-radius:50%;font-size:20px;line-height:1;cursor:pointer}
.tv-suggest{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0;font-size:14px;color:var(--bdk-muted)}
.tv-suggest button{appearance:none;border:1px solid var(--bdk-stroke);background:var(--tv-soft);color:var(--bdk-ink);border-radius:99px;padding:0 14px;min-height:36px;font:inherit;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}
.tv-suggest button:hover,.tv-suggest button:focus-visible{border-color:var(--bdk-brand);background:color-mix(in srgb,var(--bdk-brand) 14%,transparent)}

/* orbit */
.tv-orbit{position:relative;width:min(100%,430px);aspect-ratio:1;margin-inline:auto;container-type:inline-size}
.tv-ring{position:absolute;border-radius:50%;border:1px dashed var(--tv-line);animation:tv-spin 120s linear infinite}
.tv-ring-a{inset:8%}.tv-ring-b{inset:24%;animation-duration:84s;animation-direction:reverse}
.tv-node{position:absolute;left:50%;top:50%;width:66px;height:66px;margin:-33px 0 0 -33px;text-decoration:none;color:var(--a);transform:rotate(var(--ang)) translateY(calc(var(--rad) * -1)) rotate(calc(var(--ang) * -1))}
.tv-ring-a .tv-node{--rad:42cqw}.tv-ring-b .tv-node{--rad:26cqw}
.tv-node-in{display:grid;justify-items:center;gap:3px;animation:tv-spin 120s linear infinite reverse;transform-origin:50% 50%}
.tv-ring-b .tv-node-in{animation-duration:84s;animation-direction:normal}
.tv-node svg{width:44px;height:44px;padding:9px;border-radius:50%;background:color-mix(in srgb,var(--a) 14%,var(--bdk-surface));border:1.5px solid color-mix(in srgb,var(--a) 70%,transparent);box-shadow:0 0 18px -4px var(--a);transition:transform .2s var(--tv-ease),box-shadow .2s}
.tv-node em{font-style:normal;font-size:11.5px;font-weight:800;color:var(--bdk-ink);background:color-mix(in srgb,var(--bdk-surface) 88%,transparent);padding:1px 7px;border-radius:99px}
.tv-orbit:hover :is(.tv-ring,.tv-node-in),.tv-orbit:focus-within :is(.tv-ring,.tv-node-in){animation-play-state:paused}
.tv-node:hover svg,.tv-node:focus-visible svg{transform:scale(1.14);box-shadow:0 0 28px 0 var(--a)}
.tv-node:focus-visible{outline:none}.tv-node:focus-visible svg{outline:3px solid var(--bdk-brand);outline-offset:3px}
.tv-core{position:absolute;inset:38%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--bdk-brand) 26%,transparent),transparent 70%)}
.tv-core img{width:46%;height:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));animation:tv-breathe 6s ease-in-out infinite}
@keyframes tv-spin{to{transform:rotate(360deg)}}
@keyframes tv-breathe{50%{transform:scale(1.07)}}

/* ---------------- category cards ---------------- */
.tv-main{padding:clamp(28px,4vw,48px) 0 clamp(40px,6vw,72px)}
.tv-h2{font-size:clamp(20px,2.2vw,26px);letter-spacing:-.01em;margin:0 0 16px}
.tv-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;transition:opacity .22s var(--tv-ease),transform .22s var(--tv-ease)}
.tv-cat{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 22px 18px;min-height:210px;border-radius:22px;border:1px solid var(--bdk-stroke);background:linear-gradient(155deg,color-mix(in srgb,var(--a) 11%,var(--bdk-surface)),var(--bdk-surface) 62%);color:var(--bdk-ink);text-decoration:none;overflow:hidden;transition:transform .22s var(--tv-ease),border-color .22s,box-shadow .22s}
.tv-cat::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--a),transparent 85%)}
.tv-cat .tv-motif{position:absolute;right:14px;top:16px;width:68px;height:68px;color:var(--a);opacity:.5;transition:transform .5s var(--tv-ease),opacity .3s}
.tv-cat h3{margin:22px 0 0;font-size:21px;letter-spacing:-.01em;max-width:calc(100% - 78px);min-height:50px}
.tv-cat p{margin:0;color:var(--bdk-muted);font-size:14.5px;line-height:1.5;max-width:34ch}
.tv-chips{list-style:none;margin:auto 0 0;padding:6px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.tv-chips li{font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;background:color-mix(in srgb,var(--a) 14%,transparent);border:1px solid color-mix(in srgb,var(--a) 34%,transparent)}
.tv-cat-go{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--ak)}.tv-cat-go i{font-style:normal;transition:transform .2s}
html[data-theme="dark"] .tv-cat-go{color:var(--a)}
.tv-cat:hover,.tv-cat:focus-visible,.tv-cat.is-hot{transform:translateY(-3px);border-color:var(--a);box-shadow:0 18px 44px -20px var(--a)}
.tv-cat:focus-visible{outline:3px solid var(--bdk-brand);outline-offset:3px}
.tv-cat:hover .tv-cat-go i{transform:translateX(4px)}
.tv-cat:hover .tv-motif,.tv-cat:focus-visible .tv-motif,.tv-cat.is-hot .tv-motif{opacity:.85}
/* the six motifs: idle is still; they move only on hover or focus */
.tv-cat:is(:hover,:focus-visible,.is-hot) .m-cell{animation:m-pulse 1.4s ease-in-out infinite}
.tv-cat:is(:hover,:focus-visible,.is-hot) .m-scan{animation:m-scan 1.8s ease-in-out infinite alternate}
.tv-cat:is(:hover,:focus-visible,.is-hot) .m-cube{animation:m-turn 4s ease-in-out infinite alternate;transform-origin:32px 32px}
.tv-cat:is(:hover,:focus-visible,.is-hot) .m-needle{animation:m-needle 2.4s ease-in-out infinite alternate;transform-origin:32px 34px}
.tv-cat:is(:hover,:focus-visible,.is-hot) .m-p1{animation:m-slide 1.6s ease-in-out infinite alternate}
.tv-cat:is(:hover,:focus-visible,.is-hot) .m-flow{stroke-dasharray:4 4;animation:m-dash 1s linear infinite}
@keyframes m-pulse{50%{opacity:.25}}@keyframes m-scan{from{transform:translateY(-12px)}to{transform:translateY(12px)}}@keyframes m-turn{from{transform:rotate(-8deg) scale(.96)}to{transform:rotate(8deg) scale(1.03)}}@keyframes m-needle{from{transform:rotate(-40deg)}to{transform:rotate(50deg)}}@keyframes m-slide{to{transform:translate(2px,-2px)}}@keyframes m-dash{to{stroke-dashoffset:-8}}
/* orbit node highlights its card */
.tv-page:has(.tv-node[data-cat="excel"]:is(:hover,:focus-visible)) .tv-cat[data-cat="excel"],.tv-page:has(.tv-node[data-cat="print"]:is(:hover,:focus-visible)) .tv-cat[data-cat="print"],.tv-page:has(.tv-node[data-cat="barcode"]:is(:hover,:focus-visible)) .tv-cat[data-cat="barcode"],.tv-page:has(.tv-node[data-cat="design"]:is(:hover,:focus-visible)) .tv-cat[data-cat="design"],.tv-page:has(.tv-node[data-cat="business"]:is(:hover,:focus-visible)) .tv-cat[data-cat="business"],.tv-page:has(.tv-node[data-cat="utilities"]:is(:hover,:focus-visible)) .tv-cat[data-cat="utilities"]{transform:translateY(-3px);border-color:var(--a);box-shadow:0 18px 44px -20px var(--a)}

/* ---------------- explore panel ---------------- */
.tv-explore{margin-top:clamp(30px,4vw,48px);--a:var(--bdk-brand);--ak:var(--bdk-brand)}
.tv-crumbs{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:14px;color:var(--bdk-muted);margin:0 0 14px}
.tv-crumbs a{color:var(--bdk-muted);text-decoration:none;font-weight:700}.tv-crumbs a:hover{color:var(--bdk-ink);text-decoration:underline}.tv-crumbs [aria-current]{color:var(--bdk-ink);font-weight:800}
.tv-back{appearance:none;margin-left:auto;border:1px solid var(--bdk-stroke);background:var(--bdk-surface);color:var(--bdk-ink);border-radius:99px;min-height:40px;padding:0 16px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.tv-back:hover{border-color:var(--a)}
.tv-crumbs.on-hero{color:inherit;opacity:.85}.tv-crumbs.on-hero a{color:inherit}
.tv-rail{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 0 6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.tv-rail a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:99px;border:1px solid var(--bdk-stroke);background:var(--bdk-surface);color:var(--bdk-ink);text-decoration:none;font-size:14px;font-weight:700;transition:border-color .15s,background .15s}
.tv-rail a i{width:10px;height:10px;border-radius:50%;background:var(--a)}
.tv-rail a:hover{border-color:var(--a)}.tv-rail a[aria-current="page"]{border-color:var(--a);background:color-mix(in srgb,var(--a) 16%,var(--bdk-surface))}
.tv-catbar{display:grid;gap:14px;margin:8px 0 22px}
.tv-live{border:1px solid color-mix(in srgb,var(--a) 40%,var(--bdk-stroke));border-radius:18px;padding:16px 18px;background:linear-gradient(160deg,color-mix(in srgb,var(--a) 9%,var(--bdk-surface)),var(--bdk-surface));min-height:120px}
.tv-live h3{margin:0 0 4px;font-size:16px}.tv-live .cap{margin:0 0 10px;font-size:12.5px;color:var(--bdk-muted)}
.tv-live .row{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.tv-live label{display:grid;gap:3px;font-size:12px;font-weight:700;color:var(--bdk-muted)}
.tv-live input,.tv-live select{min-height:42px;border-radius:10px;border:1px solid var(--bdk-stroke);background:var(--bdk-bg);color:var(--bdk-ink);font:inherit;padding:0 10px;min-width:0}
.tv-live input[type=color]{padding:2px;width:52px}.tv-live .out{margin:10px 0 0;font-weight:800;font-size:18px}.tv-live .out small{font-weight:600;color:var(--bdk-muted);font-size:13px}
.tv-live table{border-collapse:collapse;font-size:13px;margin:0 0 8px}.tv-live td,.tv-live th{border:1px solid var(--bdk-stroke);padding:3px 9px;text-align:left}.tv-live th{background:var(--tv-soft)}
.tv-live .more{display:inline-block;margin-top:8px;font-size:13.5px;font-weight:700;color:var(--ak);text-decoration:none}html[data-theme="dark"] .tv-live .more{color:var(--a)}
.tv-live .skel{height:72px;border-radius:12px;background:linear-gradient(90deg,var(--tv-soft),transparent,var(--tv-soft));background-size:200% 100%;animation:tv-sk 1.4s linear infinite}@keyframes tv-sk{to{background-position:-200% 0}}
.tv-live .err{color:#d14343}html[data-theme="dark"] .tv-live .err{color:#ff8b8b}
.tv-catfilters{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px 16px;align-items:center}
.tv-live .split{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:flex-start}.tv-live .split>div{min-width:0}
.tv-catfilters input{min-height:46px;border-radius:14px;border:1.5px solid var(--bdk-stroke);background:var(--bdk-surface);color:var(--bdk-ink);font:inherit;font-size:15px;padding:0 14px;width:100%}.tv-catfilters input:focus{outline:none;border-color:var(--a);box-shadow:0 0 0 3px color-mix(in srgb,var(--a) 22%,transparent)}
.tv-status{display:flex;flex-wrap:wrap;gap:6px}.tv-status button,.tv-tabs button{appearance:none;border:1px solid var(--bdk-stroke);background:var(--bdk-surface);color:var(--bdk-ink);border-radius:99px;min-height:40px;padding:0 15px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.tv-status button:hover,.tv-tabs button:hover{border-color:var(--a)}
.tv-status button[aria-pressed="true"],.tv-tabs button[aria-selected="true"]{background:var(--ak,var(--a));border-color:var(--ak,var(--a));color:#fff}
html[data-theme="dark"] .tv-status button[aria-pressed="true"],html[data-theme="dark"] .tv-tabs button[aria-selected="true"]{background:var(--a);border-color:var(--a);color:#0a1626}
.tv-explore[data-cat=""] .tv-tabs button[aria-selected="true"]{color:var(--bdk-brand-ink)}
.tv-tabs-row{display:flex;gap:12px 20px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:6px}
.tv-tabs{display:flex;gap:6px;flex-wrap:wrap;overflow-x:auto;max-width:100%;padding-bottom:2px}
.tv-tabs button{white-space:nowrap}
.tv-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--bdk-brand);color:var(--bdk-brand-ink,#141921);font-size:12px;font-weight:800;margin-left:4px}
.tv-note{font-size:14px;color:var(--bdk-muted);margin:6px 0 14px;line-height:1.5}
.tv-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:8px 0 12px}
.tv-link{appearance:none;border:0;background:none;color:var(--ak,var(--bdk-brand));font:inherit;font-weight:700;font-size:14px;cursor:pointer;text-decoration:underline;min-height:40px}
html[data-theme="dark"] .tv-link{color:var(--a)}

/* explore states */
.tv-page[data-view="all"] .tv-crumbs,.tv-page[data-view="all"] .tv-rail,.tv-page[data-view="all"] .tv-catbar,.tv-page[data-view="all"] .tv-related,.tv-page[data-view="all"] .tv-cases{display:none}
.tv-page:not([data-view="all"]):not([data-view="search"]):not([data-view="my"]) .tv-tabs-row,.tv-page[data-view="search"] .tv-tabs-row,.tv-page[data-view="search"] .tv-catbar,.tv-page[data-view="search"] .tv-rail,.tv-page[data-view="search"] .tv-cases,.tv-page[data-view="search"] .tv-related{display:none}
.tv-page[data-view="search"] .tv-crumbs{display:none}
.tv-page:not([data-view="all"]):not([data-view="search"]) .tv-cats-sec{display:none}

/* ---------------- tool cards ---------------- */
.tv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:14px}
.tv-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px 16px 14px;border-radius:18px;border:1px solid var(--bdk-stroke);background:var(--bdk-surface);color:var(--bdk-ink);transition:transform .2s var(--tv-ease),border-color .2s,box-shadow .2s}
.tv-card::before{content:"";position:absolute;left:16px;right:16px;top:0;height:3px;border-radius:0 0 4px 4px;background:var(--a);opacity:.9}
.tv-card:hover,.tv-card:focus-within{transform:translateY(-2px);border-color:color-mix(in srgb,var(--a) 70%,var(--bdk-stroke));box-shadow:0 14px 34px -22px var(--a)}
.tv-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tv-glyph{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--a) 16%,transparent);border:1px solid color-mix(in srgb,var(--a) 40%,transparent);color:var(--ak);font-size:20px;font-weight:800}
html[data-theme="dark"] .tv-glyph{color:var(--a)}
.tv-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.tv-badge{font-size:11.5px;font-weight:800;padding:3px 9px;border-radius:99px;border:1px solid var(--bdk-stroke);background:var(--tv-soft);color:var(--bdk-ink);white-space:nowrap}
.tv-badge.s-live::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#1f9d63;margin-right:6px}
.tv-badge.s-dev{border-color:#d9822b;color:#b45309}.tv-badge.s-demo{border-color:#6d8fd6}.tv-badge.s-case,.tv-badge.s-planned{border-style:dashed}
html[data-theme="dark"] .tv-badge.s-dev{color:#ffb35c}
.tv-badge.s-new{background:var(--bdk-brand);border-color:var(--bdk-brand);color:var(--bdk-brand-ink,#141921)}
.tv-card h3{margin:2px 0 0;font-size:17.5px;letter-spacing:-.005em}
.tv-card h3 a{color:inherit;text-decoration:none}.tv-card h3 a::after{content:"";position:absolute;inset:0;border-radius:18px}
.tv-card h3 a:focus-visible{outline:none}.tv-card h3 a:focus-visible::after{outline:3px solid var(--bdk-brand);outline-offset:2px}
.tv-card p{margin:0;font-size:14px;line-height:1.5;color:var(--bdk-muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.tv-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}
.tv-catlabel{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--bdk-muted)}.tv-catlabel i{width:9px;height:9px;border-radius:50%;background:var(--a)}
.tv-save{position:relative;z-index:2;appearance:none;border:1px solid var(--bdk-stroke);background:var(--bdk-surface);color:var(--bdk-ink);border-radius:10px;min-height:40px;padding:0 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}
.tv-save:hover{border-color:var(--bdk-brand)}.tv-save:focus-visible{outline:3px solid var(--bdk-brand);outline-offset:2px}
.tv-save.is-saved{border-color:var(--bdk-brand);background:color-mix(in srgb,var(--bdk-brand) 14%,var(--bdk-surface));color:var(--bdk-ink)}
.tv-card.tv-in{animation:tv-in .26s var(--tv-ease) both;animation-delay:calc(var(--k,0) * 22ms)}
@keyframes tv-in{from{opacity:0;transform:translateY(10px)}}
.tv-empty{padding:34px 20px;border:1.5px dashed var(--bdk-stroke);border-radius:20px;text-align:center;color:var(--bdk-muted);line-height:1.6}
.tv-empty b{display:block;color:var(--bdk-ink);font-size:18px;margin-bottom:4px}.tv-empty .tv-btn{margin-top:10px}
.tv-guides{margin-top:22px}.tv-guides h2{margin-bottom:10px}
.tv-guide-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.tv-guide-list a{display:flex;gap:10px;align-items:baseline;justify-content:space-between;padding:12px 14px;border:1px solid var(--bdk-stroke);border-radius:12px;color:var(--bdk-ink);text-decoration:none;background:var(--bdk-surface);min-height:48px}.tv-guide-list a:hover{border-color:var(--bdk-brand)}.tv-guide-list small{color:var(--bdk-muted);white-space:nowrap}
.tv-cases,.tv-related{margin-top:34px}.tv-cases .tv-note{max-width:70ch}

/* buttons, strips */
.tv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:14px;border:1px solid var(--bdk-stroke);background:var(--bdk-surface);color:var(--bdk-ink);font:inherit;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;transition:border-color .15s,transform .15s}
.tv-btn:hover{border-color:var(--bdk-brand)}.tv-btn:focus-visible{outline:3px solid var(--bdk-brand);outline-offset:2px}
.tv-btn.primary{background:var(--bdk-brand);border-color:var(--bdk-brand);color:var(--bdk-brand-ink,#141921)}.tv-btn.primary:hover{background:var(--bdk-brand-hover)}
.tv-btn.ghost{background:none}
.tv-strip,.tv-cta{display:flex;gap:18px 28px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:34px;padding:24px 26px;border:1px solid var(--bdk-stroke);border-radius:22px;background:var(--bdk-surface)}
.tv-strip h2,.tv-cta h2{margin:0 0 6px;font-size:21px}.tv-strip p,.tv-cta p{margin:0;color:var(--bdk-muted);max-width:68ch;line-height:1.55}.tv-strip>div:first-child p+p{margin-top:8px}
.tv-cta{background:linear-gradient(120deg,color-mix(in srgb,var(--bdk-brand) 14%,var(--bdk-surface)),var(--bdk-surface))}
.tv-strip-links{display:flex;gap:10px;flex-wrap:wrap}
.tv-my{margin-bottom:30px}.tv-about,.tv-my+.tv-strip{margin-top:10px}

/* ---------------- small screens ---------------- */
@media (max-width:980px){.tv-catfilters{grid-template-columns:1fr}.tv-hero-grid{grid-template-columns:1fr;gap:6px}.tv-orbit{display:none}.tv-cats{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-catbar{grid-template-columns:1fr}}
@media (max-width:620px){
  .tv-page .wrap{width:calc(100% - 32px)}
  .tv-cats{grid-template-columns:1fr;gap:12px}.tv-cat{min-height:0;padding:18px 18px 14px}.tv-cat h3{margin-top:4px;max-width:calc(100% - 70px)}.tv-cat .tv-motif{width:60px;height:60px;top:14px;right:14px}
  .tv-hero h1{font-size:38px}.tv-search-box{min-height:56px}
  .tv-suggest{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-right:-16px;padding-right:16px}.tv-suggest button{flex:none}
  .tv-grid{grid-template-columns:1fr}.tv-card-foot{flex-wrap:wrap}.tv-back{margin-left:0}
  .tv-strip,.tv-cta{padding:20px}.tv-strip-links,.tv-strip-links .tv-btn,.tv-cta .tv-btn{width:100%}
  .tv-hero-grid{padding-top:26px}
  .tv-page{padding-bottom:env(safe-area-inset-bottom)}
}
@media (prefers-reduced-motion:reduce){
  .tv-bg i,.tv-ring,.tv-node-in,.tv-core img,.tv-live .skel{animation:none!important}
  .tv-cat,.tv-card,.tv-cat .tv-motif,.tv-cats{transition:none!important}
  .tv-cat *,.tv-card.tv-in{animation:none!important}
}
/* category view: a shorter hero so the tools are on the first screen */
.tv-page:not([data-view="all"]):not([data-view="search"]) .tv-explore{margin-top:0}
.tv-page:not([data-view="all"]):not([data-view="search"]):not([data-view="my"]) .tv-hero-grid{padding-block:clamp(22px,3vw,36px)}
.tv-page:not([data-view="all"]):not([data-view="search"]):not([data-view="my"]) .tv-orbit{width:min(100%,300px)}
.tv-page:not([data-view="all"]):not([data-view="search"]):not([data-view="my"]) .tv-hero h1{font-size:clamp(34px,4.6vw,54px)}
.tv-page:not([data-view="all"]):not([data-view="search"]):not([data-view="my"]) .tv-suggest{display:none}
.tv-page:not([data-view="all"]):not([data-view="search"]):not([data-view="my"]) .tv-lead{margin-bottom:14px}
.tv-main{padding-top:clamp(20px,3vw,34px)}
