/*
Theme Name: Tim Berger Portfolio
Description: Pinterest-inspired portfolio for timtimtim.de
Version: 4.84.0
*/
:root{--tb-red:#e60023;--tb-red-dark:#ad081b;--tb-ink:#111;--tb-muted:#777;--tb-soft:#e9e9e7;--tb-white:#fff;--tb-card:#a5a7a7;--tb-page:clamp(16px,2vw,32px);--tb-radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--tb-white);color:var(--tb-ink);font-family:'Alte Haas Grotesk',Arial,Helvetica,sans-serif;font-size:15px;line-height:1.35}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.tb-site{min-height:100vh}main{width:100%}

/* Header */
.tb-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:28px;align-items:center;min-height:64px;padding:8px var(--tb-page);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.tb-brand{display:inline-flex;align-items:center;line-height:0;white-space:nowrap}.tb-brand-logo{display:block;width:clamp(118px,8.2vw,142px);height:auto}.tb-search-wrap{position:relative;min-width:0}.tb-search{height:40px;display:flex;align-items:center;gap:10px;padding:0 16px;background:var(--tb-soft);border-radius:999px;color:#747474}.tb-search svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.tb-search input{width:100%;border:0;outline:0;background:transparent;color:var(--tb-ink);font-size:14px}.tb-search input::placeholder{color:#777}.tb-search-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:80;max-height:min(500px,70vh);overflow:auto;padding:12px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:20px;box-shadow:0 8px 28px rgba(0,0,0,.14)}.tb-search-heading{margin:4px 8px 8px;font-size:12px;font-weight:700;color:#777}.tb-search-result{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:11px 12px;border-radius:12px}.tb-search-result:hover{background:#f3f3f1}.tb-search-result span{font-size:14px;font-weight:500}.tb-search-result small{font-size:11px;color:#8a8a8a;text-align:right}.tb-search-empty{margin:8px 12px 10px;color:#888;font-size:13px}
.tb-pill{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 18px;border:0;border-radius:999px;background:var(--tb-red);color:#fff;font-size:13px;font-weight:700;transition:background .15s ease,transform .15s ease}.tb-pill:hover{background:var(--tb-red-dark)}.tb-pill:active{transform:scale(.98)}.tb-pill--top{min-width:96px}.tb-pill--wide{min-width:220px}

/* Home profile */
.tb-profile{display:flex;flex-direction:column;align-items:center;padding:18px var(--tb-page) 2px;text-align:center}.tb-avatar{width:86px;height:86px;margin-bottom:7px;border-radius:50%;overflow:hidden}.tb-avatar img{display:block;width:100%;height:100%;object-fit:cover}.tb-profile h1{margin:0;font-size:24px;line-height:1.05;letter-spacing:-.6px}.tb-role{margin:7px 0 5px;font-size:14px;font-weight:400;line-height:1.35}.tb-handle{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#333;line-height:1.2}.tb-instagram-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.tb-instagram-icon circle:last-child{fill:currentColor;stroke:none}.tb-profile-actions{display:flex;align-items:center;gap:11px;margin-top:10px}.tb-icon-btn{width:38px;height:38px;border:0;background:transparent;border-radius:50%;display:grid;place-items:center;font-weight:800}.tb-icon-btn:hover{background:#f2f2f2}.tb-icon-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.tb-icon-btn.is-copied::after{content:'✓';font-size:16px}.tb-icon-btn.is-copied svg{display:none}.tb-more{font-size:17px;letter-spacing:1px}
.tb-view-menu-wrap{position:relative}.tb-view-menu{position:absolute;left:50%;top:calc(100% + 8px);z-index:75;min-width:170px;padding:8px;transform:translateX(-50%);background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:15px;box-shadow:0 8px 28px rgba(0,0,0,.13);text-align:left}.tb-view-menu-title{margin:4px 8px 6px;color:#7b7b7b;font-size:11px}.tb-view-menu button,.tb-view-menu-link{display:block;width:100%;padding:9px 10px;border:0;border-radius:9px;background:transparent;text-align:left;font-weight:400}.tb-view-menu button:hover,.tb-view-menu button.is-active,.tb-view-menu-link:hover{background:#f1f1ef}.tb-view-menu button.is-active{font-weight:700}.tb-view-menu-divider{height:1px;margin:6px 4px;background:#e8e8e6}.tb-dark-mode-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 10px 7px;font-size:13px}.tb-switch{display:inline-flex;align-items:center}.tb-switch input{position:absolute;opacity:0;pointer-events:none}.tb-switch-track{position:relative;display:block;width:34px;height:20px;border-radius:999px;background:#d7d7d5;transition:.18s}.tb-switch-thumb{position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.22);transition:transform .18s}.tb-switch input:checked + .tb-switch-track{background:var(--tb-red)}.tb-switch input:checked + .tb-switch-track .tb-switch-thumb{transform:translateX(14px)}
.tb-tabs{display:flex;justify-content:center;gap:26px;margin:18px 0 14px}.tb-tab{position:relative;padding:7px 0;border:0;background:none;font-weight:700}.tb-tab::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent}.tb-tab.is-active::after{background:var(--tb-ink)}

/* Pinterest grid */
.tb-panel{padding:0 var(--tb-page)}.tb-grid-stage{position:relative}.tb-grid{--tb-grid-gap:14px;column-count:6;column-gap:var(--tb-grid-gap);width:100%;touch-action:pan-y}.tb-pin{position:relative;width:100%;display:block;margin:0 0 var(--tb-grid-gap);padding:0;border:0;border-radius:var(--tb-radius);background:var(--tb-card);overflow:hidden;break-inside:avoid;page-break-inside:avoid;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.tb-pin img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--tb-cover-x,50%) var(--tb-cover-y,50%);pointer-events:none;-webkit-user-drag:none;user-select:none}.tb-pin--image{aspect-ratio:var(--tb-cover-ratio,4 / 5);cursor:pointer}.tb-pin--placeholder{aspect-ratio:var(--tb-cover-ratio,4 / 5);background:#a5a7a7;cursor:grab}.tb-pin:focus-visible{outline:3px solid var(--tb-ink);outline-offset:2px}.tb-grid.is-reordering{touch-action:none}.tb-grid.is-reordering .tb-pin{touch-action:none;-webkit-touch-callout:none}.tb-pin.is-dragging{pointer-events:none;opacity:.48;transform:scale(.985);z-index:4}.tb-pin.is-drag-target{outline:3px solid rgba(0,0,0,.32);outline-offset:-3px}.tb-grid-sentinel{height:1px;break-before:column}
@media(hover:hover) and (pointer:fine){.tb-pin--image:hover{filter:brightness(.9)}.tb-pin--placeholder:hover{filter:brightness(.96)}}
.tb-grid-stage::after{content:'';position:absolute;left:0;right:0;bottom:0;height:clamp(240px,30vw,480px);pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.04) 24%,rgba(255,255,255,.14) 45%,rgba(255,255,255,.42) 67%,rgba(255,255,255,.78) 86%,#fff 100%)}
.tb-grid[data-grid-size="compact"]{--tb-grid-gap:10px;column-count:8}.tb-grid[data-grid-size="normal"]{--tb-grid-gap:14px;column-count:6}.tb-grid[data-grid-size="broad"]{--tb-grid-gap:18px;column-count:5}.tb-grid[data-grid-size="compact"] .tb-pin{border-radius:12px}.tb-grid[data-grid-size="broad"] .tb-pin{border-radius:19px}

/* About */
.tb-about-panel{max-width:none;margin:0;padding-top:28px;padding-bottom:90px;text-align:left}.tb-about-layout{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:clamp(40px,5vw,72px);align-items:start;max-width:1180px;margin:0 auto}.tb-about-image-wrap{width:100%;max-width:340px;background:transparent}.tb-about-image{display:block;width:100%;height:auto;object-fit:contain;object-position:center top}.tb-about-content{max-width:760px;padding-top:10px}.tb-about-copy{font-size:16px;line-height:1.48;font-weight:400}.tb-about-copy p{margin:0 0 18px}.tb-about-board-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:15px;text-decoration:underline;text-underline-offset:3px}.tb-about-board-link:hover{opacity:.62}

/* Footer / fade */
.tb-bottom-cta{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:-120px;padding:128px max(7.5vw,var(--tb-page)) 28px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.48) 40%,#fff 72%,#fff 100%)}.tb-bottom-cta h2{margin:0;font-size:24px;line-height:1.05;letter-spacing:-.5px;font-weight:400}.tb-bottom-cta>div:first-child p{margin:2px 0 0;color:#9a9a9a;font-weight:300}.tb-bottom-actions{text-align:center}.tb-bottom-actions p{font-size:10px;font-weight:400}.tb-bottom-actions p a{color:#4f43d6;text-decoration:underline}

/* Text pages */
.tb-text-page{width:min(1120px,100%);margin:36px 0 100px;padding-left:clamp(24px,7vw,120px);padding-right:clamp(24px,4vw,64px);text-align:left}.tb-text-page>h1{margin:28px 0 44px;font-size:clamp(42px,4.6vw,64px);line-height:.98;letter-spacing:-.045em}.tb-back-link{display:inline-block;font-weight:700;margin-top:6px}.tb-legal-content{max-width:900px;font-size:15px;line-height:1.6}.tb-legal-content h1{margin:52px 0 24px;font-size:clamp(32px,3.6vw,48px);line-height:1.05}.tb-legal-content h2{margin:42px 0 16px;font-size:24px;line-height:1.15}.tb-legal-content h3{margin:32px 0 12px;font-size:18px}.tb-legal-content p,.tb-legal-content ul,.tb-legal-content ol{max-width:760px}.tb-legal-content a{text-decoration:underline}
.tb-contact-intro{max-width:760px;margin:0 0 24px;font-size:15px;line-height:1.6}.tb-contact-form{display:grid;gap:16px;max-width:760px;margin-top:30px}.tb-contact-form label{display:grid;gap:7px;font-size:15px;font-weight:400}.tb-contact-form input,.tb-contact-form textarea{width:100%;border:1px solid #d5d5d5;border-radius:14px;padding:13px 15px;outline:none;background:#fafafa;font-size:15px;line-height:1.45}.tb-contact-form input:focus,.tb-contact-form textarea:focus{border-color:#888;background:#fff}.tb-contact-form .tb-pill--wide{width:min(260px,100%);justify-self:start}.tb-contact-status{min-height:20px;margin:0}.tb-direct-mail{max-width:760px;margin-top:24px;font-size:13px;line-height:1.5}.tb-direct-mail a{text-decoration:underline}.tb-contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* Saved */
.tb-saved-page{max-width:none}.tb-saved-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1100px}.tb-saved-card{display:grid;gap:9px}.tb-saved-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px}.tb-saved-card strong{font-size:15px;font-weight:400}.tb-saved-empty{color:#888}

/* Project detail */
.tb-project-detail{padding:34px max(28px,2.8vw) 0}.tb-project-detail-top{display:grid;grid-template-columns:minmax(280px,32vw) minmax(0,1fr);gap:28px;align-items:start;max-width:1180px;margin:0 auto 32px}.tb-project-cover-wrap{width:100%;align-self:start}.tb-project-cover{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:28px;background:transparent}.tb-project-cover--placeholder{aspect-ratio:4/5;display:grid;place-items:center;text-align:center;font-size:28px;background:#a5a7a7}.tb-project-info{min-width:0;padding:12px 0 0}.tb-project-controls{display:flex;align-items:center;gap:10px;margin-bottom:24px}.tb-project-save{height:44px;padding:0 22px;border:0;border-radius:16px;background:var(--tb-red);color:#fff;font-weight:700}.tb-project-save.is-saved{background:#8d8d8d}.tb-project-icon-btn{width:42px;height:42px;padding:0;border:0;background:transparent;display:grid;place-items:center;border-radius:50%;font-size:18px;font-weight:800}.tb-project-icon-btn:hover{background:#f1f1f1}.tb-project-icon-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tb-project-info h1{font-size:26px;line-height:1.15;font-weight:400;margin:0 0 28px;letter-spacing:-.025em}.tb-project-description{font-size:17px;line-height:1.55;max-width:720px}.tb-project-more-wrap{position:relative}.tb-project-menu{position:absolute;top:48px;left:0;z-index:30;width:240px;background:#fff;border:1px solid #e7e7e7;border-radius:18px;padding:10px;box-shadow:0 14px 38px rgba(0,0,0,.12)}.tb-project-menu-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 8px;font-size:14px}.tb-project-read{width:100%;border:0;background:transparent;text-align:left;padding:12px 8px;border-radius:10px;font-size:14px}.tb-project-read:hover{background:#f3f3f3}.tb-project-gallery{columns:6;column-gap:11px;width:100%;margin:18px 0 0}.tb-project-gallery-item{width:100%;display:block;margin:0 0 11px;break-inside:avoid;border:0;padding:0;border-radius:18px;overflow:hidden;background:transparent}.tb-project-gallery-item img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.tb-project-gallery-item:hover{filter:brightness(.92)}.tb-project-bottom-cta{margin-top:-30px}

/* Game */
.tb-game-page{max-width:1400px;margin:0 auto;padding:70px var(--tb-page) 100px}.tb-game-toolbar{display:flex;align-items:center;margin-bottom:22px}.tb-game-shell{position:relative;width:100%;aspect-ratio:16/7;min-height:430px;max-height:700px;overflow:hidden;background:#79c2cf;cursor:pointer;user-select:none;touch-action:manipulation}.tb-game-canvas{display:block;width:100%;height:100%;image-rendering:pixelated}

/* Dark mode */
body.tb-dark-mode{background:#191919;color:#f5f5f5;--tb-ink:#f5f5f5;--tb-white:#191919;--tb-soft:#303030}.tb-dark-mode .tb-site{background:#191919}.tb-dark-mode .tb-header{background:rgba(25,25,25,.96)}.tb-dark-mode .tb-search{background:#303030;color:#bdbdbd}.tb-dark-mode .tb-search input{color:#f5f5f5}.tb-dark-mode .tb-handle{color:#d5d5d5}.tb-dark-mode .tb-icon-btn:hover{background:#2b2b2b}.tb-dark-mode .tb-search-suggestions,.tb-dark-mode .tb-view-menu,.tb-dark-mode .tb-project-menu{background:#242424;border-color:rgba(255,255,255,.08);color:#f5f5f5;box-shadow:0 8px 28px rgba(0,0,0,.35)}.tb-dark-mode .tb-search-result:hover,.tb-dark-mode .tb-view-menu button:hover,.tb-dark-mode .tb-view-menu button.is-active,.tb-dark-mode .tb-view-menu-link:hover,.tb-dark-mode .tb-project-read:hover,.tb-dark-mode .tb-project-icon-btn:hover{background:#333}.tb-dark-mode .tb-view-menu-divider{background:#3b3b3b}.tb-dark-mode .tb-grid-stage::after{background:linear-gradient(to bottom,rgba(25,25,25,0) 0%,rgba(25,25,25,.04) 24%,rgba(25,25,25,.14) 45%,rgba(25,25,25,.42) 67%,rgba(25,25,25,.78) 86%,#191919 100%)}.tb-dark-mode .tb-bottom-cta{background:linear-gradient(to bottom,rgba(25,25,25,0) 0%,rgba(25,25,25,.48) 40%,#191919 72%,#191919 100%)}.tb-dark-mode .tb-bottom-cta h2,.tb-dark-mode .tb-about-copy{color:#f5f5f5}.tb-dark-mode .tb-contact-form input,.tb-dark-mode .tb-contact-form textarea{background:#242424;border-color:#444;color:#f5f5f5}.tb-dark-mode .tb-contact-form input:focus,.tb-dark-mode .tb-contact-form textarea:focus{background:#292929;border-color:#777}.tb-dark-mode .tb-pin.is-drag-target{outline-color:rgba(255,255,255,.5)}

/* Responsive */
@media(max-width:1100px){.tb-grid[data-grid-size="compact"]{column-count:7}.tb-grid[data-grid-size="normal"]{column-count:5}.tb-grid[data-grid-size="broad"]{column-count:4}.tb-project-gallery{columns:5}}
@media(max-width:900px){.tb-grid[data-grid-size="compact"]{column-count:5}.tb-grid[data-grid-size="normal"]{column-count:4}.tb-grid[data-grid-size="broad"]{column-count:3}.tb-project-gallery{columns:4}.tb-saved-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.tb-project-detail{padding:24px 18px 0}.tb-project-detail-top{grid-template-columns:1fr;gap:24px}.tb-project-info{padding-top:0}.tb-project-gallery{columns:3}.tb-project-description{font-size:16px}}
@media(max-width:700px){
  .tb-header{position:sticky;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:8px 12px;padding-bottom:10px}.tb-brand{grid-column:1;grid-row:1}.tb-pill--top{grid-column:3;grid-row:1;display:inline-flex;min-width:0;height:38px;padding:0 14px;white-space:nowrap}.tb-brand-logo{width:112px}.tb-search-wrap{grid-column:1/4;grid-row:2}.tb-search{height:40px}.tb-search-suggestions{position:fixed;left:12px;right:12px;top:110px}.tb-profile{padding-top:14px}.tb-view-menu{left:auto;right:0;transform:none}
  .tb-grid[data-grid-size="compact"]{column-count:4}.tb-grid[data-grid-size="normal"]{column-count:3}.tb-grid[data-grid-size="broad"]{column-count:2}.tb-bottom-cta{align-items:flex-start;flex-direction:column;margin-top:-88px;padding-top:96px}.tb-bottom-actions{width:100%;text-align:left}.tb-bottom-actions .tb-pill{width:100%}
  .tb-about-layout{display:flex;flex-direction:column;gap:28px}.tb-about-content{order:1;padding-top:0}.tb-about-image-wrap{order:2;width:min(82vw,320px);max-width:320px}.tb-text-page{margin-top:22px;padding-left:20px;padding-right:20px}.tb-text-page>h1{font-size:42px;margin-bottom:34px}.tb-saved-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-game-page{padding-top:34px}.tb-game-shell{aspect-ratio:auto;height:62vh;min-height:430px}
}
@media(max-width:480px){.tb-brand-logo{width:96px}.tb-pill--top{font-size:12px;padding:0 12px}.tb-avatar{width:76px;height:76px}.tb-grid[data-grid-size="compact"]{column-count:3}.tb-grid[data-grid-size="normal"]{column-count:2}.tb-grid[data-grid-size="broad"]{column-count:1}.tb-tabs{margin-top:14px}.tb-project-gallery{columns:2}.tb-project-controls{gap:10px}.tb-project-menu{right:0;left:auto}.tb-project-cover{border-radius:22px}.tb-saved-grid{grid-template-columns:1fr 1fr}}


/* v4.44 — project pages keep the normal Pinterest-style site header */
.single-tb_project .tb-header{
  display:grid;
}
.tb-project-detail{
  padding-top:28px;
}
.tb-project-detail-top{
  margin-top:8px;
}
.tb-project-cover-wrap{
  position:relative;
}
.tb-project-back-button{
  position:absolute;
  top:16px;
  left:16px;
  z-index:5;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#fff;
  color:#111;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.tb-project-back-button:hover{
  background:#f2f2f2;
}
.tb-project-back-button svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.tb-dark-mode .tb-project-back-button{
  background:#2b2b2b;
  color:#fff;
}
body.tb-dark-mode .tb-project-back-button:hover{
  background:#3a3a3a;
}

@media(max-width:700px){
  .single-tb_project .tb-header{
    grid-template-columns:auto minmax(0,1fr) auto;
  }
  .tb-project-detail{
    padding-top:18px;
  }
  .tb-project-back-button{
    top:12px;
    left:12px;
    width:48px;
    height:48px;
    border-radius:16px;
  }
}


/* v4.45 — About project boards */
.tb-about-boards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;max-width:1440px;margin:34px auto 0;padding:0 max(20px,1.5vw)}
.tb-about-board-card{display:block;min-width:0}
.tb-about-board-preview{position:relative;display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:2px;width:100%;aspect-ratio:1.52/1;overflow:hidden;border-radius:20px;background:#ececea}
.tb-about-board-preview-img{width:100%;height:100%;object-fit:cover;display:block}
.tb-about-board-preview-img--0{grid-column:1;grid-row:1/3}
.tb-about-board-preview-img--1{grid-column:2;grid-row:1}
.tb-about-board-preview-img--2{grid-column:2;grid-row:2}
.tb-about-board-preview-img--3{position:absolute;right:7%;bottom:7%;width:30%;height:42%;border-radius:10px;border:2px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.12)}
.tb-about-board-empty{position:absolute;inset:0;background:#aaa}
.tb-about-board-meta{padding:10px 8px 0}.tb-about-board-meta strong{display:block;font-size:20px;line-height:1.1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-about-board-meta span{display:block;margin-top:5px;font-size:13px;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-about-board-card:hover .tb-about-board-preview{filter:brightness(.94)}
.tb-dark-mode .tb-about-board-meta span{color:#aaa}.tb-dark-mode .tb-about-board-preview{background:#333}

/* Project board page */
.tb-board-page{padding:26px var(--tb-page) 90px}.tb-board-head{max-width:1440px;margin:0 auto 26px;text-align:center}.tb-board-back{display:inline-block;float:left;margin-top:12px;font-weight:700}.tb-board-head h1{margin:8px 0 2px;font-size:clamp(30px,3vw,48px);line-height:1.05}.tb-board-head p{margin:5px 0 0;color:#777;font-size:14px}.tb-board-grid{columns:6;column-gap:12px;max-width:1600px;margin:0 auto}.tb-board-pin{display:block;width:100%;margin:0 0 12px;break-inside:avoid;border-radius:18px;overflow:hidden}.tb-board-pin img{display:block;width:100%;height:auto}.tb-board-pin:hover{filter:brightness(.92)}
@media(max-width:1100px){.tb-about-boards{grid-template-columns:repeat(3,minmax(0,1fr))}.tb-board-grid{columns:5}}
@media(max-width:800px){.tb-about-boards{display:flex;overflow-x:auto;gap:14px;padding:0 20px 8px;scroll-snap-type:x proximity}.tb-about-board-card{flex:0 0 min(78vw,310px);scroll-snap-align:start}.tb-about-board-meta strong{font-size:18px}.tb-board-grid{columns:3}.tb-board-back{float:none;display:block;text-align:left}.tb-board-head{text-align:left}}
@media(max-width:480px){.tb-board-grid{columns:2}.tb-board-page{padding-left:12px;padding-right:12px}}


/* v4.47 — About boards heading */

.tb-about-selected-title{
  width:100%;
  max-width:1440px;
  margin:34px auto 18px;
  padding:0 max(20px,1.5vw);
  font-size:22px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:-.02em;
}


/* v4.49 — editable About board covers */
.tb-about-board-preview{
  display:grid;
  grid-template-columns:3fr 1fr;
  grid-template-rows:1fr;
  gap:3px;
  width:100%;
  aspect-ratio:1.52/1;
  overflow:hidden;
  border-radius:20px;
  background:#ececea;
}
.tb-about-board-main,
.tb-about-board-side,
.tb-about-board-side-item{
  min-width:0;
  min-height:0;
}
.tb-about-board-main{
  position:relative;
  overflow:hidden;
  grid-column:1;
}
.tb-about-board-side{
  grid-column:2;
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:3px;
}
.tb-about-board-side-item{
  position:relative;
  overflow:hidden;
}
.tb-about-board-main img,
.tb-about-board-side-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.tb-about-board-preview > .tb-about-board-preview-img,
.tb-about-board-preview-img{
  display:none!important;
}
.tb-about-board-empty{
  position:absolute;
  inset:0;
  background:#aaa;
}


/* v4.51 — full-width project boards + Pinterest back button */
.tb-board-page{
  width:100%;
  max-width:none;
  padding:26px 0 90px;
}
.tb-board-head{
  position:relative;
  width:100%;
  max-width:none;
  margin:0 0 26px;
  padding:0 var(--tb-page);
  text-align:center;
}
.tb-board-back{
  position:absolute;
  left:var(--tb-page);
  top:4px;
  z-index:5;
  float:none;
  margin:0;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#fff;
  color:#111;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.tb-board-back:hover{
  background:#f2f2f2;
}
.tb-board-back svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tb-board-grid{
  width:100%;
  max-width:none;
  margin:0;
  padding:0 12px;
  columns:6;
  column-gap:12px;
}
body.tb-dark-mode .tb-board-back{
  background:#2b2b2b;
  color:#fff;
}
body.tb-dark-mode .tb-board-back:hover{
  background:#3a3a3a;
}

@media(max-width:1100px){
  .tb-board-grid{columns:5}
}
@media(max-width:800px){
  .tb-board-head{
    min-height:52px;
    padding:0 20px;
    text-align:center;
  }
  .tb-board-back{
    left:12px;
    top:0;
    width:46px;
    height:46px;
    border-radius:15px;
  }
  .tb-board-grid{
    columns:3;
    padding:0 10px;
    column-gap:10px;
  }
}
@media(max-width:480px){
  .tb-board-grid{
    columns:2;
    padding:0 8px;
    column-gap:8px;
  }
}


/* v4.52 — tighter Selected Projects spacing */
.tb-about-boards{
  margin-top:34px;
}


/* v4.54 — reliable hold-to-reorder */
.tb-grid .tb-pin,
.tb-grid .tb-pin img{
  -webkit-user-drag:none;
  user-drag:none;
}
.tb-grid .tb-pin.is-long-press-ready{
  cursor:grabbing!important;
}


/* v4.55 — tighter project controls + Saved folder dropdown */
.tb-project-save-wrap{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
}
.tb-project-save-chevron{
  width:34px;
  height:34px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--tb-ink);
  display:grid;
  place-items:center;
  cursor:pointer;
}
.tb-project-save-chevron:hover{
  background:#f1f1f1;
}
.tb-project-save-chevron svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tb-project-saved-menu{
  position:absolute;
  top:50px;
  left:0;
  z-index:35;
  min-width:150px;
  padding:7px;
  background:#fff;
  border:1px solid #e7e7e7;
  border-radius:14px;
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.tb-project-saved-menu a{
  display:block;
  padding:10px 12px;
  border-radius:9px;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
}
.tb-project-saved-menu a:hover{
  background:#f3f3f3;
}
.tb-project-controls > .tb-project-icon-btn,
.tb-project-controls > .tb-project-more-wrap{
  flex:0 0 auto;
}
.tb-dark-mode .tb-project-save-chevron:hover{
  background:#333;
}
.tb-dark-mode .tb-project-saved-menu{
  background:#242424;
  border-color:rgba(255,255,255,.08);
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}
.tb-dark-mode .tb-project-saved-menu a:hover{
  background:#333;
}


/* v4.56 — Pinterest-style Contact modal */
.tb-contact-modal-page{
  position:relative;
  min-height:calc(100vh - 68px);
  display:grid;
  place-items:start center;
  padding:28px 18px 60px;
  isolation:isolate;
}
.tb-contact-backdrop{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.48)),
    radial-gradient(circle at 22% 30%,rgba(255,255,255,.09),transparent 28%),
    radial-gradient(circle at 78% 70%,rgba(255,255,255,.08),transparent 30%),
    #555;
}
.tb-contact-modal{
  width:min(620px,calc(100vw - 36px));
  margin:8px auto 0;
  padding:30px 32px 28px;
  border-radius:28px;
  background:#fff;
  color:#111;
  box-shadow:0 18px 70px rgba(0,0,0,.28);
}
.tb-contact-modal-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}
.tb-contact-modal-logo{
  width:72px;
  height:72px;
  object-fit:contain;
  border-radius:20px;
  background:#f7f7f5;
}
.tb-contact-close{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:2px solid #111;
  border-radius:18px;
  color:#111;
  background:#fff;
}
.tb-contact-close:hover{
  background:#f3f3f3;
}
.tb-contact-close svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}
.tb-contact-modal-copy{
  margin:24px 0 22px;
}
.tb-contact-modal-copy h1{
  margin:0 0 6px;
  font-size:clamp(30px,4vw,42px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:700;
}
.tb-contact-modal-copy p{
  margin:0;
  max-width:520px;
  font-size:17px;
  line-height:1.42;
  color:#333;
}
.tb-contact-form--modal{
  display:grid;
  gap:10px;
  width:100%;
  max-width:none;
  margin:0;
}
.tb-contact-form--modal .tb-contact-field{
  display:block;
}
.tb-contact-form--modal input,
.tb-contact-form--modal textarea{
  width:100%;
  border:1.5px solid #9b9b96;
  border-radius:18px;
  background:#fff;
  color:#111;
  padding:15px 17px;
  font-size:16px;
  line-height:1.35;
  outline:none;
  transition:border-color .15s,box-shadow .15s;
}
.tb-contact-form--modal input{
  min-height:56px;
}
.tb-contact-form--modal textarea{
  min-height:132px;
  resize:vertical;
}
.tb-contact-form--modal input::placeholder,
.tb-contact-form--modal textarea::placeholder{
  color:#9b9b9b;
}
.tb-contact-form--modal input:focus,
.tb-contact-form--modal textarea:focus{
  border-color:#111;
  box-shadow:0 0 0 2px rgba(17,17,17,.06);
  background:#fff;
}
.tb-contact-send{
  width:100%;
  min-height:58px;
  margin-top:4px;
  border:0;
  border-radius:18px;
  background:var(--tb-red);
  color:#fff;
  font-size:18px;
  font-weight:700;
  cursor:pointer;
}
.tb-contact-send:hover{
  filter:brightness(.95);
}
.tb-contact-send:disabled{
  opacity:.55;
  cursor:wait;
}
.tb-contact-status{
  min-height:20px;
  margin:0;
  padding-top:2px;
  text-align:center;
  font-size:13px;
}
.tb-contact-direct{
  display:flex;
  align-items:baseline;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  margin:20px 0 0;
  font-size:15px;
  line-height:1.4;
}
.tb-contact-direct a{
  text-decoration:underline;
  text-underline-offset:2px;
}
body.tb-dark-mode .tb-contact-backdrop{
  background:
    linear-gradient(rgba(0,0,0,.62),rgba(0,0,0,.62)),
    #333;
}
body.tb-dark-mode .tb-contact-modal{
  background:#fff;
  color:#111;
}
body.tb-dark-mode .tb-contact-modal-copy p{
  color:#333;
}
body.tb-dark-mode .tb-contact-form--modal input,
body.tb-dark-mode .tb-contact-form--modal textarea{
  background:#fff;
  color:#111;
  border-color:#9b9b96;
}
body.tb-dark-mode .tb-contact-direct{
  color:#111;
}

@media(max-width:700px){
  .tb-contact-modal-page{
    min-height:calc(100vh - 100px);
    padding:14px 10px 38px;
  }
  .tb-contact-modal{
    width:100%;
    margin:0;
    padding:22px 18px 24px;
    border-radius:24px;
  }
  .tb-contact-modal-logo{
    width:62px;
    height:62px;
    border-radius:18px;
  }
  .tb-contact-close{
    width:46px;
    height:46px;
    border-radius:16px;
  }
  .tb-contact-modal-copy{
    margin:20px 0 18px;
  }
  .tb-contact-modal-copy h1{
    font-size:31px;
  }
  .tb-contact-modal-copy p{
    font-size:15px;
  }
  .tb-contact-form--modal input,
  .tb-contact-form--modal textarea{
    border-radius:16px;
    font-size:15px;
  }
  .tb-contact-send{
    border-radius:16px;
    font-size:17px;
  }
  .tb-contact-direct{
    justify-content:flex-start;
    font-size:14px;
  }
}


/* v4.57 — contact success slide-over */
.tb-contact-modal{
  position:relative;
  overflow:hidden;
}
.tb-contact-success{
  position:absolute;
  inset:0;
  z-index:20;
  display:grid;
  place-items:center;
  padding:32px;
  background:#fff;
  color:#111;
  transform:translateX(-102%);
  transition:transform .42s cubic-bezier(.22,.8,.24,1);
  pointer-events:none;
}
.tb-contact-success.is-visible{
  transform:translateX(0);
  pointer-events:auto;
}
.tb-contact-success-inner{
  width:min(460px,100%);
  text-align:left;
}
.tb-contact-success-mark{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  margin-bottom:28px;
  border-radius:20px;
  background:var(--tb-red);
  color:#fff;
  font-size:34px;
  font-weight:700;
  line-height:1;
}
.tb-contact-success h2{
  margin:0 0 12px;
  font-size:clamp(32px,4vw,46px);
  line-height:1.02;
  letter-spacing:-.035em;
}
.tb-contact-success p{
  margin:0 0 28px;
  max-width:430px;
  font-size:17px;
  line-height:1.45;
  color:#3b3b3b;
}
.tb-contact-success-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  border-radius:18px;
  background:var(--tb-red);
  color:#fff;
  font-size:16px;
  font-weight:700;
}
.tb-contact-success-button:hover{
  filter:brightness(.95);
}
body.tb-dark-mode .tb-contact-success{
  background:#fff;
  color:#111;
}
body.tb-dark-mode .tb-contact-success p{
  color:#3b3b3b;
}

@media(max-width:700px){
  .tb-contact-success{
    padding:24px 20px;
  }
  .tb-contact-success h2{
    font-size:34px;
  }
  .tb-contact-success p{
    font-size:15px;
  }
  .tb-contact-success-button{
    width:100%;
  }
}


/* v4.58 — stronger bottom CTA alignment and readability */
.tb-bottom-cta{
  align-items:flex-start;
}
.tb-bottom-cta > div:first-child{
  padding-top:4px;
}
.tb-bottom-cta h2{
  font-size:28px;
  line-height:1;
}
.tb-bottom-cta > div:first-child p{
  margin-top:5px;
  color:#777;
  font-size:14px;
  line-height:1.35;
}
.tb-bottom-actions{
  min-width:min(340px,28vw);
}
.tb-bottom-actions .tb-pill--wide{
  min-height:58px;
  font-size:17px;
  font-weight:700;
  box-shadow:0 3px 10px rgba(0,0,0,.08);
}
.tb-bottom-actions p{
  margin:8px 0 0;
  font-size:12px;
  line-height:1.35;
  color:#555;
}
.tb-dark-mode .tb-bottom-cta > div:first-child p{
  color:#b8b8b8;
}
.tb-dark-mode .tb-bottom-actions p{
  color:#bdbdbd;
}
@media(max-width:700px){
  .tb-bottom-cta{
    align-items:stretch;
  }
  .tb-bottom-actions{
    min-width:0;
  }
}


/* v4.60 — pin-level Saved + integrated split Saved control */
.tb-project-save-wrap{
  position:relative;
  display:flex;
  align-items:stretch;
  height:44px;
  border-radius:16px;
  background:var(--tb-red);
  overflow:visible;
  transition:background .16s ease,width .16s ease;
}
.tb-project-save-wrap.is-saved{
  width:132px;
  background:#8d8d8d;
}
.tb-project-save{
  height:44px;
  min-width:88px;
  flex:1 1 auto;
  padding:0 20px;
  border:0;
  border-radius:16px;
  background:transparent!important;
  color:#fff;
  font-weight:700;
}
.tb-project-save-wrap.is-saved .tb-project-save{
  width:75%;
  min-width:0;
  padding:0 12px;
  border-radius:16px 0 0 16px;
}
.tb-project-save-chevron{
  position:relative;
  width:25%;
  min-width:33px;
  height:44px;
  padding:0;
  border:0;
  border-radius:0 16px 16px 0;
  background:transparent;
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.tb-project-save-chevron::before{
  content:'';
  position:absolute;
  left:0;
  top:9px;
  bottom:9px;
  width:1px;
  background:rgba(255,255,255,.28);
}
.tb-project-save-chevron:hover{
  background:rgba(255,255,255,.08);
}
.tb-project-save-chevron svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.tb-project-saved-menu{
  top:52px;
  left:auto;
  right:0;
}
.tb-saved-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:none;
}
.tb-saved-card img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}
.tb-dark-mode .tb-project-save-chevron:hover{
  background:rgba(255,255,255,.08);
}


/* v4.61 — exact Saved visibility + consistent Pinterest back buttons */
.tb-saved-card[hidden]{
  display:none!important;
}
.tb-pinterest-back{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  padding:0;
  border-radius:16px;
  background:#fff;
  color:#111;
  box-shadow:0 2px 10px rgba(0,0,0,.08);
  font-size:0;
  line-height:0;
}
.tb-pinterest-back:hover{
  background:#f2f2f2;
}
.tb-pinterest-back svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.tb-dark-mode .tb-pinterest-back{
  background:#2b2b2b;
  color:#fff;
}
body.tb-dark-mode .tb-pinterest-back:hover{
  background:#3a3a3a;
}


/* v4.63 — Lock In global Top 5 leaderboard */
.tb-game-leaderboard{
  width:min(520px,100%);
  margin:24px auto 0;
  padding:18px 22px 20px;
  border:4px solid #202020;
  background:#efefef;
  color:#202020;
  box-shadow:inset -5px -5px 0 #b7b7b7,inset 5px 5px 0 #fff;
  font-family:"Courier New",monospace;
  image-rendering:pixelated;
}
.tb-game-leaderboard h2{
  margin:0 0 12px;
  text-align:center;
  font-size:22px;
  line-height:1;
  letter-spacing:.08em;
}
.tb-game-leaderboard ol{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:6px;
}
.tb-game-leaderboard li{
  display:grid;
  grid-template-columns:30px 1fr auto;
  align-items:center;
  gap:10px;
  font-size:18px;
  font-weight:700;
  letter-spacing:.12em;
}
.tb-game-leaderboard li em{
  font-style:normal;
}
.tb-game-leaderboard li strong{
  font:inherit;
}
.tb-game-highscore-entry{
  position:absolute;
  inset:0;
  z-index:12;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.48);
}
.tb-game-highscore-entry[hidden]{
  display:none!important;
}
.tb-game-highscore-card{
  width:min(390px,92%);
  padding:22px;
  border:5px solid #202020;
  background:#efefef;
  color:#202020;
  box-shadow:inset -6px -6px 0 #aaa,inset 6px 6px 0 #fff;
  font-family:"Courier New",monospace;
  text-align:center;
}
.tb-game-pixel-kicker{
  margin:0 0 10px;
  font-size:22px;
  font-weight:900;
  letter-spacing:.08em;
}
.tb-game-highscore-score{
  margin:0 0 16px;
  font-size:16px;
  font-weight:700;
  letter-spacing:.1em;
}
.tb-game-highscore-card form{
  display:grid;
  gap:10px;
}
.tb-game-highscore-card label{
  font-size:14px;
  font-weight:700;
  letter-spacing:.1em;
}
.tb-game-highscore-card input{
  width:150px;
  margin:0 auto;
  padding:8px 10px;
  border:4px solid #202020;
  border-radius:0;
  background:#fff;
  color:#202020;
  font-family:"Courier New",monospace;
  font-size:34px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
  text-align:center;
  text-transform:uppercase;
  outline:none;
}
.tb-game-highscore-card input:focus{
  box-shadow:0 0 0 4px #fff,0 0 0 8px #202020;
}
.tb-game-highscore-card #gameInitialsHint{
  margin:0;
  font-size:11px;
  letter-spacing:.04em;
}
.tb-game-highscore-card button{
  min-height:46px;
  border:4px solid #202020;
  border-radius:0;
  background:#ef002f;
  color:#fff;
  font-family:"Courier New",monospace;
  font-size:15px;
  font-weight:900;
  letter-spacing:.08em;
  cursor:pointer;
}
.tb-game-highscore-card button:disabled{
  opacity:.55;
}
.tb-game-highscore-status{
  min-height:16px;
  margin:0;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
}
.tb-dark-mode .tb-game-leaderboard,
.tb-dark-mode .tb-game-highscore-card{
  background:#d9d9d9;
  color:#181818;
}
@media(max-width:700px){
  .tb-game-leaderboard{
    margin-top:18px;
    padding:16px 18px 18px;
  }
  .tb-game-leaderboard li{
    font-size:16px;
  }
  .tb-game-pixel-kicker{
    font-size:20px;
  }
}


/* v4.64 — optional high-score submission */
.tb-game-highscore-skip{
  min-height:auto!important;
  padding:8px 6px!important;
  border:0!important;
  background:transparent!important;
  color:#202020!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.05em!important;
  text-decoration:underline;
  text-underline-offset:3px;
}
.tb-game-highscore-skip:hover{
  opacity:.65;
}

/* v4.65 — Lock In score admin */
.tb-score-admin-table input{text-align:left}


/* v4.66 — slightly larger header + 25% larger profile image */
.tb-header{
  min-height:72px;
  padding-top:10px;
  padding-bottom:10px;
}
.tb-brand-logo{
  width:clamp(124px,8.8vw,150px);
}
.tb-search{
  height:44px;
}
.tb-pill--top{
  min-height:42px;
  padding-left:20px;
  padding-right:20px;
}
.tb-profile{
  padding-top:24px;
}
.tb-avatar{
  width:108px;
  height:108px;
  margin-bottom:9px;
}
.tb-profile h1{
  font-size:26px;
}

@media(max-width:700px){
  .tb-header{
    min-height:0;
    padding-top:10px;
    padding-bottom:12px;
  }
  .tb-search{
    height:42px;
  }
  .tb-profile{
    padding-top:18px;
  }
  .tb-avatar{
    width:95px;
    height:95px;
  }
}
@media(max-width:480px){
  .tb-avatar{
    width:95px;
    height:95px;
  }
}


/* v4.67 — use wider header wordmark logo */
.tb-brand-logo{width:clamp(136px,10vw,200px);height:auto}
@media(max-width:768px){.tb-brand-logo{width:114px}}
@media(max-width:480px){.tb-brand-logo{width:102px}}


/* v4.72 — 0.5s light/dark theme fade */
body.tb-theme-transition,
body.tb-theme-transition .tb-site,
body.tb-theme-transition .tb-header,
body.tb-theme-transition .tb-search,
body.tb-theme-transition .tb-search input,
body.tb-theme-transition .tb-handle,
body.tb-theme-transition .tb-search-suggestions,
body.tb-theme-transition .tb-view-menu,
body.tb-theme-transition .tb-project-menu,
body.tb-theme-transition .tb-project-saved-menu,
body.tb-theme-transition .tb-contact-form input,
body.tb-theme-transition .tb-contact-form textarea,
body.tb-theme-transition .tb-contact-modal,
body.tb-theme-transition .tb-contact-backdrop,
body.tb-theme-transition .tb-pinterest-back,
body.tb-theme-transition .tb-board-back,
body.tb-theme-transition .tb-project-back-button,
body.tb-theme-transition .tb-about-board-preview,
body.tb-theme-transition .tb-game-leaderboard,
body.tb-theme-transition .tb-game-highscore-card,
body.tb-theme-transition .tb-view-menu-divider,
body.tb-theme-transition .tb-icon-btn,
body.tb-theme-transition .tb-project-icon-btn,
body.tb-theme-transition .tb-project-read,
body.tb-theme-transition .tb-search-result,
body.tb-theme-transition .tb-bottom-cta,
body.tb-theme-transition .tb-grid-stage::after{
  transition:
    background-color .5s ease,
    background .5s ease,
    color .5s ease,
    border-color .5s ease,
    box-shadow .5s ease,
    fill .5s ease,
    stroke .5s ease !important;
}
@media (prefers-reduced-motion: reduce){
  body.tb-theme-transition,
  body.tb-theme-transition *{
    transition-duration:.01ms!important;
  }
}


/* v4.73 — project video pins */
.tb-pin video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--tb-cover-x,50%) var(--tb-cover-y,50%);
  pointer-events:none;
  user-select:none;
}
.tb-project-cover-media{width:100%}
.tb-project-cover-video{background:#000}
.tb-project-gallery-item video{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  pointer-events:none;
}
.tb-board-pin video{
  display:block;
  width:100%;
  height:auto;
  background:#000;
  pointer-events:none;
}
.tb-saved-card video{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
  background:#000;
  object-fit:cover;
}


/* v4.75 — feed sort control */
.tb-feed-toolbar{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:46px;
  margin:0 0 10px;
}
.tb-feed-filter-wrap{position:relative}
.tb-feed-filter-btn{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--tb-ink);
}
.tb-feed-filter-btn:hover{background:#f1f1f1}
.tb-feed-filter-btn svg{
  width:28px;
  height:28px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
}
.tb-feed-filter-btn circle{fill:var(--tb-white);stroke:currentColor}
.tb-feed-filter-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:35;
  width:180px;
  padding:8px;
  border:1px solid rgba(0,0,0,.07);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.13);
}
.tb-feed-filter-menu button{
  display:block;
  width:100%;
  padding:11px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  text-align:left;
  font-size:14px;
}
.tb-feed-filter-menu button:hover,
.tb-feed-filter-menu button.is-active{
  background:#f1f1ef;
}
.tb-feed-filter-menu button.is-active{font-weight:700}
.tb-dark-mode .tb-feed-filter-btn:hover{background:#2b2b2b}
.tb-dark-mode .tb-feed-filter-menu{
  background:#242424;
  border-color:rgba(255,255,255,.08);
  color:#f5f5f5;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.tb-dark-mode .tb-feed-filter-menu button:hover,
.tb-dark-mode .tb-feed-filter-menu button.is-active{background:#333}
body.tb-theme-transition .tb-feed-filter-btn,
body.tb-theme-transition .tb-feed-filter-menu{
  transition:background-color .5s ease,background .5s ease,color .5s ease,border-color .5s ease,box-shadow .5s ease!important;
}
@media(max-width:700px){
  .tb-feed-toolbar{min-height:40px;margin-bottom:8px}
  .tb-feed-filter-btn{width:40px;height:40px}
  .tb-feed-filter-btn svg{width:25px;height:25px}
}


/* v4.78 — project hero stays left-aligned with copy directly beside it */
.tb-project-detail-top{
  width:100%;
  max-width:none;
  margin:8px 0 32px;
  grid-template-columns:minmax(280px,32vw) minmax(0,1fr);
  justify-content:start;
}
.tb-project-cover-wrap{
  justify-self:start;
}
.tb-project-info{
  justify-self:start;
  width:100%;
}

@media(max-width:820px){
  .tb-project-detail-top{
    grid-template-columns:1fr;
    margin-top:8px;
  }
}


/* v4.82 — project detail: image left, copy + actions right */
.tb-project-detail{
  padding:34px max(28px,2.2vw) 0;
}
.tb-project-detail-top{
  width:100%;
  max-width:none;
  margin:0 0 36px;
  display:grid;
  grid-template-columns:minmax(360px,40.5vw) minmax(0,1fr);
  gap:46px;
  align-items:start;
  justify-content:start;
}
.tb-project-cover-wrap{
  width:100%;
  max-width:760px;
  justify-self:start;
}
.tb-project-info{
  width:100%;
  min-width:0;
  padding:18px 0 0;
  justify-self:start;
}
.tb-project-titlebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:100%;
}
.tb-project-titlebar h1,
.tb-project-info h1{
  margin:0;
  font-size:26px;
  line-height:1.15;
  font-weight:400;
  letter-spacing:-.025em;
}
.tb-project-controls{
  flex:0 0 auto;
  margin:0;
  gap:12px;
}
.tb-project-description{
  margin-top:34px;
  max-width:760px;
  font-size:17px;
  line-height:1.55;
}
@media(max-width:980px){
  .tb-project-detail-top{grid-template-columns:minmax(320px,45vw) minmax(0,1fr);gap:30px}
}
@media(max-width:820px){
  .tb-project-detail{padding:24px 18px 0}
  .tb-project-detail-top{grid-template-columns:1fr;gap:24px}
  .tb-project-cover-wrap{max-width:none}
  .tb-project-info{padding-top:0}
  .tb-project-description{margin-top:24px;font-size:16px}
}


/* v4.82 — project overflow menu aligns inward */
.tb-project-titlebar .tb-project-menu{left:auto;right:0}
