/* Taghvimban theme 1.1.0 — اذین صنعت رایانه. Colors: --tb-* variables printed by the Taghvimban plugin. */
:root{--tb-primary:#5b4be0;--tb-primary2:#8273f3;--tb-accent:#f5a524;--tb-success:#22a06b;--tb-danger:#e5484d;--tb-page-bg:#f6f7fb;--tb-card-bg:#fff;--tb-text:#1c1a3a;--tb-muted:#8a89a6;
  --tb-footer-bg:#1c1a3a;--tb-footer-text:#c9c6ec;--tb-footer-title:#fff;--tb-hero-from:#5b4be0;--tb-hero-to:#8a7cf5;--tb-hero-text:#fff;--tb-holiday-color:#e5484d;--tb-today-color:#5b4be0;--tb-radius:26px;
  --side-w:280px;--tb-line:color-mix(in srgb,var(--tb-text) 9%,transparent);--tb-soft:color-mix(in srgb,var(--tb-primary) 11%,var(--tb-card-bg));--font:FazFont,"Yekan Bakh",YekanBakh,Vazirmatn,Tahoma,system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body.tb-body{margin:0;background:var(--tb-page-bg);color:var(--tb-text);font-family:var(--font);font-size:15px;line-height:1.75;font-feature-settings:"ss01";-webkit-font-smoothing:antialiased}
body.is-locked{overflow:hidden}
a{color:var(--tb-primary)}
img{max-width:100%}
button,input,select,textarea{font-family:inherit}
[hidden]{display:none!important}
.tb-skip{position:absolute;right:-999px;top:8px;z-index:999;background:var(--tb-primary);color:#fff;padding:8px 14px;border-radius:10px}
.tb-skip:focus{right:8px}
:focus-visible{outline:2px solid var(--tb-primary);outline-offset:2px}
.tb-i{flex:none}
.tb-solo{max-width:760px;margin:40px auto;padding:0 16px}
.tb-notice{background:#fff;border-radius:20px;padding:24px;margin-bottom:20px}

/* ---------- shell */
.tb-shell{display:grid;grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100vh}
.tb-side{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--tb-card-bg);border-inline-end:1px solid var(--tb-line);padding:26px 18px 18px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}
.tb-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--tb-text);padding:0 6px}
.tb-brand strong{display:block;font-size:20px;font-weight:900;line-height:1.3}
.tb-brand small{display:block;color:var(--tb-muted);font-size:12px}
.tb-logo-mark{position:relative;width:52px;height:52px;border-radius:16px;flex:none;display:grid;place-items:center;padding-top:5px;background:linear-gradient(140deg,var(--tb-primary),var(--tb-primary2));color:#fff;font-weight:900;font-size:21px;box-shadow:0 10px 22px -10px var(--tb-primary)}
.tb-logo-mark i{position:absolute;top:8px;width:9px;height:3px;border-radius:2px;background:rgba(255,255,255,.85)}
.tb-logo-mark i:first-child{right:12px}.tb-logo-mark i:last-child{left:12px}
.tb-logo-img{width:52px;height:52px;border-radius:16px;object-fit:contain;flex:none}
.tb-side-close{display:none}
.tb-nav{display:flex;flex-direction:column;gap:3px;margin-top:10px}
.tb-nav-label{margin:14px 10px 4px;font-size:12px;color:var(--tb-muted)}
.tb-nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:15px;color:var(--tb-text);text-decoration:none;font-weight:700;transition:background .15s,color .15s}
.tb-nav a span{flex:1}
.tb-nav a .tb-i{color:var(--tb-muted)}
.tb-nav a:hover{background:var(--tb-page-bg)}
.tb-nav a.is-on{background:var(--tb-soft);color:var(--tb-primary)}
.tb-nav a.is-on .tb-i{color:var(--tb-primary)}
.tb-nav a.is-sub{font-weight:500;padding:8px 14px;font-size:14px}
.tb-count{min-width:24px;height:24px;border-radius:8px;background:var(--tb-primary);color:#fff;font-size:12px;display:grid;place-items:center;padding:0 6px}
.tb-dot{font-style:normal;min-width:10px;height:10px;border-radius:50%;background:var(--tb-danger);font-size:0}
.tb-side-cta{margin-top:auto;position:relative;text-align:center;background:linear-gradient(180deg,var(--tb-soft),color-mix(in srgb,var(--tb-primary) 5%,var(--tb-card-bg)));border-radius:20px;padding:34px 16px 16px;margin-top:30px}
.tb-side-cta-i{position:absolute;top:-22px;left:50%;transform:translateX(-50%);width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,var(--tb-primary),var(--tb-primary2));box-shadow:0 10px 20px -8px var(--tb-primary)}
.tb-side-cta strong{display:block;font-size:16px}
.tb-side-cta p{margin:4px 0 12px;font-size:12px;color:var(--tb-muted);line-height:1.8}
.tb-side-cta .tb-btn{background:var(--tb-card-bg);width:100%}
.tb-side-user{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--tb-line);border-radius:18px;text-decoration:none;color:var(--tb-text)}
.tb-side-user>span:nth-child(2){flex:1;min-width:0}
.tb-side-user strong{display:flex;align-items:center;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-side-user small{display:block;color:var(--tb-muted);font-size:12px}
.tb-side-user .tb-i{color:var(--tb-muted)}
.tb-side-av{position:relative;flex:none}
.tb-side-av .tb-av{width:44px;height:44px;border-radius:14px}
.tb-online{position:absolute;bottom:-2px;left:-2px;width:13px;height:13px;border-radius:50%;background:var(--tb-success);border:3px solid var(--tb-card-bg)}
.tb-side-login{width:100%}
.tb-scrim{position:fixed;inset:0;background:rgba(20,16,50,.45);backdrop-filter:blur(2px);z-index:80}
.tb-main-col{min-width:0;display:flex;flex-direction:column}
.tb-content{flex:1;padding:6px 34px 34px;display:grid;gap:22px;align-content:start;width:100%;max-width:1320px;margin:0 auto}

/* ---------- top bar */
.tb-top{display:flex;align-items:center;gap:14px;padding:28px 34px 18px;max-width:1320px;width:100%;margin:0 auto;position:relative;z-index:20}
.tb-menu-btn,.tb-top-brand{display:none}
.tb-hello{flex:1;min-width:0}
.tb-hello h1{margin:0;font-size:22px;font-weight:900;line-height:1.5}
.tb-hello p{margin:0;color:var(--tb-muted);font-size:13px}
.tb-search{position:relative;display:flex;align-items:center;gap:8px;background:var(--tb-card-bg);border:1px solid var(--tb-line);border-radius:16px;padding:0 14px;height:50px;width:min(340px,30vw);color:var(--tb-muted)}
.tb-search:focus-within{border-color:var(--tb-primary);box-shadow:0 0 0 4px var(--tb-soft)}
.tb-search input{flex:1;border:0;background:none;outline:0;font-size:14px;color:var(--tb-text);min-width:0}
.tb-search kbd{font-family:inherit;font-size:11px;background:var(--tb-page-bg);border:1px solid var(--tb-line);border-radius:7px;padding:1px 6px;direction:ltr}
.tb-search-out{position:absolute;top:calc(100% + 6px);inset-inline:0;list-style:none;margin:0;padding:6px;background:var(--tb-card-bg);border:1px solid var(--tb-line);border-radius:16px;box-shadow:0 20px 50px -18px rgba(20,12,80,.35);z-index:50;max-height:60vh;overflow:auto}
.tb-search-out button{display:grid;width:100%;text-align:right;border:0;background:none;padding:9px 10px;border-radius:11px;cursor:pointer;color:var(--tb-text)}
.tb-search-out button:hover{background:var(--tb-soft)}
.tb-search-out small{color:var(--tb-muted);font-size:12px}
.tb-search-out .is-empty{padding:10px;color:var(--tb-muted);font-size:13px}
.tb-bell-wrap{position:relative}
.tb-icon-btn.tb-bell{width:50px;height:50px;border-radius:16px;position:relative;color:var(--tb-text);text-decoration:none}
.tb-bell-dot{position:absolute;top:9px;right:10px;min-width:9px;height:9px;border-radius:50%;background:var(--tb-danger);font-size:0;box-shadow:0 0 0 2px var(--tb-card-bg)}
.tb-bell-panel{position:absolute;top:calc(100% + 8px);left:0;width:340px;max-width:calc(100vw - 24px);background:var(--tb-card-bg);border:1px solid var(--tb-line);border-radius:20px;box-shadow:0 24px 60px -20px rgba(20,12,80,.4);z-index:60;overflow:hidden}
.tb-bell-panel header{display:flex;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--tb-line)}
.tb-bell-panel header a{font-size:13px;font-weight:700;text-decoration:none}
.tb-bell-panel ul{list-style:none;margin:0;padding:6px;max-height:400px;overflow:auto}
.tb-bell-panel li a{display:grid;gap:1px;padding:10px;border-radius:12px;text-decoration:none;color:var(--tb-text)}
.tb-bell-panel li a:hover{background:var(--tb-page-bg)}
.tb-bell-panel li.is-new a{background:var(--tb-soft)}
.tb-bell-panel strong{font-size:13px}
.tb-bell-panel span{font-size:12px;color:var(--tb-muted)}
.tb-bell-panel small{font-size:11px;color:var(--tb-muted)}
.tb-bell-panel .is-empty{padding:18px;text-align:center;color:var(--tb-muted);font-size:13px}
.tb-btn.tb-add{height:50px;border-radius:16px;padding:0 20px}

/* ---------- hero (today) */
.tb-hero{--hf:var(--tb-hero-from);--ht:var(--tb-hero-to);position:relative;overflow:hidden;border-radius:var(--tb-radius);color:var(--tb-hero-text);background:linear-gradient(115deg,var(--ht),var(--hf) 62%);box-shadow:0 26px 50px -30px var(--tb-hero-from);isolation:isolate}
.tb-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.22) 1.2px,transparent 1.6px);background-size:34px 34px;opacity:.55;z-index:-1}
.tb-hero::after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;top:-240px;left:28%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 65%);z-index:-1}
.tb-hero[data-season=autumn]{--ht:color-mix(in srgb,var(--tb-hero-to) 84%,#f59e0b)}
.tb-hero[data-season=winter]{--ht:color-mix(in srgb,var(--tb-hero-to) 80%,#7dd3fc)}
.tb-hero[data-season=spring]{--ht:color-mix(in srgb,var(--tb-hero-to) 82%,#f472b6)}
.tb-hero[data-season=summer]{--ht:color-mix(in srgb,var(--tb-hero-to) 82%,#fbbf24)}
.tb-hero-bg{position:absolute;inset:0;z-index:-2}
.tb-hero-bg img{width:100%;height:100%;object-fit:cover}
.tb-hero.has-photo::before{background:linear-gradient(115deg,rgba(15,10,40,.15),rgba(15,10,40,.62));opacity:1}
.tb-season{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.tb-hero-in{display:grid;grid-template-columns:auto minmax(170px,1fr) minmax(260px,1.35fr) auto;align-items:center;gap:26px;padding:34px 38px;min-height:236px}
.tb-hero.is-compact .tb-hero-in{min-height:190px;padding:24px 30px}
.tb-hero.is-tall .tb-hero-in{min-height:300px}
.tb-today{display:flex;gap:16px;align-items:flex-start}
.tb-today-sun{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.16);backdrop-filter:blur(4px);color:#ffd36b;flex:none;margin-top:4px}
.tb-today-sun svg{animation:tb-spin 30s linear infinite}
@keyframes tb-spin{to{transform:rotate(360deg)}}
.tb-today-wd{margin:0;font-size:15px;font-weight:700;opacity:.92}
.tb-today-big{display:flex;align-items:center;gap:12px}
.tb-today-big b{font-size:clamp(68px,8vw,104px);font-weight:900;line-height:.95;letter-spacing:-2px}
.tb-today-big span{display:grid;line-height:1.3;padding-inline-start:12px;border-inline-start:1px solid rgba(255,255,255,.3)}
.tb-today-big strong{font-size:26px;font-weight:900}
.tb-today-big small{font-size:14px;opacity:.82}
.tb-today-season{margin:6px 0 0;font-size:12px;opacity:.75}
.tb-hero.is-holiday .tb-today-big b{color:#ffd0d1}
.tb-hero-label{margin:0 0 4px;font-size:12px;opacity:.75}
.tb-today-occ{align-self:center;padding-inline-start:22px;border-inline-start:1px solid rgba(255,255,255,.22)}
.tb-today-occ ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tb-today-occ strong{display:block;font-size:17px;font-weight:800;line-height:1.5}
.tb-today-occ small{font-size:12px;opacity:.8}
.tb-today-occ small a{color:#fff;font-weight:700}
.tb-today-occ li.is-hol strong::after{content:"تعطیل";font-size:11px;background:rgba(255,255,255,.22);border-radius:6px;padding:0 7px;margin-inline-start:6px;vertical-align:middle}
.tb-today-occ .is-more button{background:rgba(255,255,255,.16);border:0;color:#fff;border-radius:9px;padding:3px 10px;font-size:12px;font-weight:700;cursor:pointer}
.tb-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;padding-inline:22px;border-inline:1px solid rgba(255,255,255,.22)}
.tb-date-row{display:flex;align-items:center;gap:10px;min-width:0}
.tb-date-row>div{min-width:0;flex:1}
.tb-date-row>div{text-align:right}
.tb-date-row strong{display:block;font-size:12.5px;font-weight:800;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;unicode-bidi:plaintext}
.tb-date-row small{display:block;font-size:10.5px;line-height:1.5;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;unicode-bidi:plaintext}
.tb-date-tag{width:30px;height:30px;flex:none;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.17);font-weight:900;font-size:12px}
.tb-date-tag.is-emoji{font-size:17px;background:rgba(255,255,255,.24)}
.tb-date-add{display:flex;align-items:center;gap:8px;color:#fff;opacity:.8;font-size:12px;text-decoration:none;font-weight:700}
.tb-date-add span{width:34px;height:34px;border-radius:11px;border:1px dashed rgba(255,255,255,.5);display:grid;place-items:center;font-size:18px}
.tb-date-add:hover{opacity:1}
.tb-clock{text-align:center}
.tb-clock svg{width:132px;height:132px;display:block;margin:0 auto 6px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.18))}
.tb-clock .c-face{fill:rgba(255,255,255,.12)}
.tb-clock .c-ring{fill:none;stroke:rgba(255,255,255,.35);stroke-width:2}
.tb-clock .c-tick{stroke:rgba(255,255,255,.45);stroke-width:1.5;stroke-linecap:round}
.tb-clock .c-tick.is-h{stroke:#fff;stroke-width:3}
.tb-clock .c-h{stroke:#fff;stroke-width:6;stroke-linecap:round}
.tb-clock .c-m{stroke:#fff;stroke-width:4;stroke-linecap:round}
.tb-clock .c-s{stroke:var(--tb-accent);stroke-width:2;stroke-linecap:round}
.tb-clock .c-s-tip{fill:var(--tb-accent)}
.tb-clock .c-pin{fill:var(--tb-accent);stroke:#fff;stroke-width:2.5}
.tb-clock p{margin:0;line-height:1.4}
.tb-clock b{display:block;font-size:17px;font-weight:900;letter-spacing:1px}
.tb-clock small{font-size:11px;opacity:.75}
@media (max-width:1600px){
  .tb-hero-in{grid-template-columns:auto 1fr auto;grid-template-areas:"today occ clock" "dates dates dates"}
  .tb-today{grid-area:today}.tb-today-occ{grid-area:occ}.tb-clock{grid-area:clock}
  .tb-dates{grid-area:dates;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));border-inline:0;border-top:1px solid rgba(255,255,255,.22);padding:16px 0 0}
}

/* ---------- home grid */
.tb-home-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:22px;align-items:start}
.tb-side-stack{display:grid;gap:22px}
.tb-month-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.tb-month-head h2{margin:0;font-size:18px}
.tb-month-head p{margin:0;font-size:12px}
.tb-month-nav{display:flex;align-items:center;gap:8px}
.tb-month-title{border:0;background:none;cursor:pointer;display:grid;text-align:center;min-width:150px;color:var(--tb-text);line-height:1.4}
.tb-month-title strong{font-size:17px;font-weight:900}
.tb-month-title small{font-size:11px;color:var(--tb-muted)}
.tb-week,.tb-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.tb-week{background:var(--tb-page-bg);border-radius:14px;padding:9px 0;margin-bottom:8px;text-align:center;font-size:13px;color:var(--tb-muted);font-weight:700}
.tb-week .is-fri{color:var(--tb-holiday-color)}
.tb-cell{position:relative;display:grid;justify-items:center;align-content:center;gap:0;min-height:68px;border:0;border-radius:16px;background:none;cursor:pointer;color:var(--tb-text);font:inherit;padding:6px 2px;transition:background .15s,transform .1s}
.tb-month.is-small .tb-cell{min-height:52px}
.tb-month.is-large .tb-cell{min-height:86px}
button.tb-cell:hover{background:var(--tb-page-bg)}
.tb-cell b{font-size:17px;font-weight:800;line-height:1.3}
.tb-cell small{font-size:10px;color:var(--tb-muted);line-height:1.3;white-space:nowrap}
.tb-cell.is-out{color:color-mix(in srgb,var(--tb-muted) 45%,transparent);font-size:14px;cursor:default}
.tb-cell.is-past b{opacity:.75}
.tb-cell.is-hol b,.tb-cell.is-hol{color:var(--tb-holiday-color)}
.tb-cell.is-sel{background:var(--tb-soft)}
.tb-cell.is-today{background:linear-gradient(140deg,var(--tb-today-color),color-mix(in srgb,var(--tb-today-color) 70%,#fff));color:#fff;box-shadow:0 12px 22px -12px var(--tb-today-color);transform:scale(1.04)}
.tb-cell.is-today small{color:rgba(255,255,255,.8)}
.tb-cell.is-today b{opacity:1}
.tb-dots{display:flex;gap:3px;height:6px;margin-top:3px}
.tb-dots i,.tb-legend i,.tb-upcoming small i{width:6px;height:6px;border-radius:50%;display:inline-block}
.d-ir,.tb-upcoming i.is-iran{background:var(--tb-success)}
.d-w,.tb-upcoming i.is-world{background:#3b82f6}
.d-n,.tb-upcoming i.is-name{background:var(--tb-primary)}
.d-me{background:var(--tb-accent)}
.d-z,.tb-upcoming i.is-zoro{background:#d97706}
.tb-up-date.is-zoro{background:color-mix(in srgb,#d97706 13%,var(--tb-card-bg));color:#b45309}
.tb-cell.is-today .tb-dots i{background:#fff}
.tb-month-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--tb-line)}
.tb-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--tb-muted)}
.tb-legend span{display:inline-flex;align-items:center;gap:6px}
.tb-name-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:800;text-decoration:none}
.tb-card-link{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:800;text-decoration:none;color:var(--tb-primary)}
.tb-card-head p{margin:0;font-size:12px}
.tb-upcoming{list-style:none;margin:6px 0 0;padding:0}
.tb-upcoming li{border-bottom:1px solid var(--tb-line)}
.tb-upcoming li:last-child{border:0}
.tb-upcoming button{display:flex;align-items:center;gap:13px;width:100%;border:0;background:none;padding:12px 2px;cursor:pointer;text-align:right;color:var(--tb-text);border-radius:14px}
.tb-upcoming button:hover .tb-up-go{transform:translateX(-3px);color:var(--tb-primary)}
.tb-up-date{width:54px;height:54px;flex:none;border-radius:16px;display:grid;place-content:center;text-align:center;line-height:1.15}
.tb-up-date b{font-size:20px;font-weight:900}
.tb-up-date small{font-size:11px;font-weight:700}
.tb-up-date.is-iran{background:color-mix(in srgb,var(--tb-success) 12%,var(--tb-card-bg));color:var(--tb-success)}
.tb-up-date.is-world{background:color-mix(in srgb,#3b82f6 12%,var(--tb-card-bg));color:#2563eb}
.tb-up-date.is-name{background:var(--tb-soft);color:var(--tb-primary)}
.tb-up-txt{flex:1;min-width:0}
.tb-up-txt strong{display:block;font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-up-txt small{display:flex;align-items:center;gap:6px;color:var(--tb-muted);font-size:12px}
.tb-up-go{color:var(--tb-muted);font-size:22px;transition:transform .15s}
.tb-upcoming .is-empty{padding:14px 0;color:var(--tb-muted);font-size:13px}
.tb-progress{height:8px;border-radius:4px;background:var(--tb-page-bg);overflow:hidden;margin:10px 0 6px}
.tb-progress i{display:block;height:100%;border-radius:4px;background:var(--tb-success);width:3%;transition:width .6s}
.tb-today-tasks{list-style:none;margin:0;padding:0}
.tb-today-tasks li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--tb-line)}
.tb-today-tasks li:last-child{border:0}
.tb-today-tasks li>div{flex:1;min-width:0}
.tb-today-tasks a{display:block;color:var(--tb-text);text-decoration:none;font-weight:700;font-size:14px}
.tb-today-tasks small{display:flex;align-items:center;gap:4px;color:var(--tb-muted);font-size:12px}
.tb-tick{width:22px;height:22px;border-radius:7px;border:2px solid var(--tb-line);display:grid;place-items:center;flex:none;color:#fff}
.tb-today-tasks .is-done .tb-tick{background:var(--tb-success);border-color:var(--tb-success)}
.tb-today-tasks .is-done a{text-decoration:line-through;color:var(--tb-muted)}
.tb-today-tasks .is-cant .tb-tick{border-color:var(--tb-danger)}
.tb-join-card{text-align:center;display:grid;justify-items:center;gap:6px}
.tb-join-card h2{margin:4px 0 0}
.tb-join-card p{margin:0 0 8px;font-size:14px}
.tb-join-i{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(140deg,var(--tb-primary),var(--tb-primary2))}
.tb-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tb-quick-item{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--tb-text);padding:18px 20px;transition:transform .15s,border-color .15s}
.tb-quick-item:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tb-primary) 35%,transparent)}
.tb-quick-item>div{flex:1;min-width:0}
.tb-quick-item b{display:block;font-size:15px;font-weight:800}
.tb-quick-item small{display:block;color:var(--tb-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-quick-item>.tb-i{color:var(--tb-muted)}
.tb-quick-i{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;flex:none}
.tb-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:14px}
.tb-post{display:grid;gap:6px;text-decoration:none;color:var(--tb-text)}
.tb-post img{border-radius:14px;aspect-ratio:16/9;object-fit:cover;width:100%}
.tb-post p{margin:0;color:var(--tb-muted);font-size:13px}
.tb-post small{color:var(--tb-muted)}

/* ---------- generic content pages (posts/pages rendered by Faz) */
.tb-content>article,.tb-content>.post,.tb-content>.posts{background:var(--tb-card-bg);border:1px solid var(--tb-line);border-radius:var(--tb-radius);padding:26px}
.tb-content h1{line-height:1.5}

/* ---------- footer */
.tb-footer{background:var(--tb-footer-bg);color:var(--tb-footer-text);margin:10px 34px 34px;border-radius:var(--tb-radius);padding:34px 34px 0;overflow:hidden}
.tb-footer-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,1fr) auto;gap:30px;padding-bottom:26px}
.tb-brand.is-footer{padding:0;color:var(--tb-footer-title)}
.tb-brand.is-footer small{color:var(--tb-footer-text);opacity:.8}
.tb-footer-about p{margin:14px 0;font-size:14px;line-height:2;max-width:560px}
.tb-socials{display:flex;gap:8px;flex-wrap:wrap}
.tb-socials a{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:var(--tb-footer-title);transition:background .15s,transform .15s}
.tb-socials .tb-sico{width:24px;height:24px}
.tb-socials .tb-sico.is-color{width:28px;height:28px}
.tb-socials a:hover{background:var(--tb-primary);transform:translateY(-2px)}
.tb-footer-links{display:flex;flex-direction:column;gap:8px}
.tb-footer-links strong{color:var(--tb-footer-title);margin-bottom:4px}
.tb-footer-links a{color:var(--tb-footer-text);text-decoration:none;font-size:14px}
.tb-footer-links a:hover{color:var(--tb-footer-title)}
.tb-enamad{background:#fff;border-radius:16px;padding:8px;align-self:start}
.tb-enamad img{display:block;width:110px;height:auto}
.tb-footer-bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:16px 0;border-top:1px solid rgba(255,255,255,.1);font-size:12px;opacity:.85}
.tb-footer-bar a{color:var(--tb-footer-title)}

/* ---------- mobile bottom bar */
.tb-bottom{display:none}

/* ---------- responsive */
@media (max-width:1180px){
  :root{--side-w:240px}
  .tb-home-grid{grid-template-columns:1fr}
  .tb-side-stack{grid-template-columns:1fr 1fr}
  .tb-search{width:220px}
  .tb-btn.tb-add span{display:none}
  .tb-btn.tb-add{width:50px;padding:0}
}
@media (max-width:980px){
  .tb-shell{grid-template-columns:1fr}
  .tb-side{position:fixed;top:0;right:0;bottom:0;width:min(300px,86vw);z-index:90;transform:translateX(105%);transition:transform .28s ease;box-shadow:-20px 0 60px -20px rgba(20,12,80,.35);height:100dvh}
  .tb-side.is-open{transform:none}
  .tb-side-close{display:grid;place-items:center;position:absolute;top:18px;left:14px;width:38px;height:38px;border:0;border-radius:12px;background:var(--tb-page-bg);color:var(--tb-text);cursor:pointer}
  .tb-top{position:sticky;top:0;flex-wrap:wrap;padding:12px 16px;gap:10px;background:color-mix(in srgb,var(--tb-page-bg) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--tb-line);padding-top:max(12px,env(safe-area-inset-top))}
  .tb-menu-btn{display:inline-grid;width:44px;height:44px;border-radius:14px}
  .tb-top-brand{display:flex;align-items:center;gap:9px;flex:1;text-decoration:none;color:var(--tb-text);min-width:0}
  .tb-top-brand .tb-logo-mark,.tb-top-brand .tb-logo-img{width:40px;height:40px;border-radius:13px;font-size:16px}
  .tb-top-brand .tb-logo-mark i{top:6px;width:7px}
  .tb-top-brand strong{font-size:18px;font-weight:900}
  .tb-hello{order:5;flex-basis:100%;display:none}
  body.is-home .tb-hello{display:block}
  .tb-hello h1{font-size:18px}
  .tb-search{order:6;flex-basis:100%;width:auto;height:46px}
  body:not(.is-home) .tb-search{display:none}
  .tb-search kbd{display:none}
  .tb-icon-btn.tb-bell{width:44px;height:44px;border-radius:14px}
  .tb-bell-panel{position:fixed;top:70px;left:12px;right:12px;width:auto}
  .tb-btn.tb-add{display:none}
  .tb-content{padding:14px 14px calc(96px + env(safe-area-inset-bottom));gap:16px}
  .tb-footer{margin:0 14px calc(96px + env(safe-area-inset-bottom));padding:26px 20px 0}
  .tb-footer-grid{grid-template-columns:1fr;gap:22px}
  .tb-bottom{display:grid;grid-template-columns:repeat(5,1fr);align-items:end;position:fixed;bottom:0;left:0;right:0;z-index:70;background:color-mix(in srgb,var(--tb-card-bg) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--tb-line);padding:8px 6px max(8px,env(safe-area-inset-bottom));box-shadow:0 -10px 30px -18px rgba(20,12,80,.25)}
  .tb-bottom a{display:grid;justify-items:center;gap:2px;text-decoration:none;color:var(--tb-muted);font-size:11px;font-weight:700;position:relative;padding:4px 0}
  .tb-bottom a.is-on{color:var(--tb-primary)}
  .tb-bottom a.is-on::before{content:"";position:absolute;top:-8px;width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--tb-primary)}
  .tb-bottom .tb-count{position:absolute;top:0;right:calc(50% - 22px);min-width:18px;height:18px;font-size:10px;border-radius:9px}
  .tb-bottom-add{width:56px;height:56px;justify-self:center;margin-top:-26px;border-radius:19px;background:linear-gradient(140deg,var(--tb-primary),var(--tb-primary2));color:#fff!important;display:grid!important;place-items:center;box-shadow:0 12px 24px -10px var(--tb-primary);border:4px solid var(--tb-page-bg)}
}
@media (max-width:720px){
  .tb-hero-in{grid-template-columns:1fr auto;grid-template-areas:"today clock" "occ occ" "dates dates";gap:16px;padding:22px 20px;min-height:0}
  .tb-today-sun{display:none}
  .tb-today-big b{font-size:76px}
  .tb-today-big strong{font-size:22px}
  .tb-today-occ{border:0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.22)}
  .tb-clock svg{width:96px;height:96px}
  .tb-clock b{font-size:14px}
  .tb-dates{grid-template-columns:1fr 1fr;gap:10px}
  .tb-date-row strong{font-size:12px}
  .tb-date-tag{width:28px;height:28px;font-size:12px;border-radius:9px}
  .tb-side-stack{grid-template-columns:1fr}
  .tb-quick{grid-template-columns:1fr;gap:12px}
  .tb-card{padding:16px;border-radius:20px}
  .tb-month-head{flex-direction:column;align-items:stretch}
  .tb-month-nav{justify-content:space-between}
  .tb-week,.tb-grid{gap:3px}
  .tb-cell{min-height:54px;border-radius:12px;padding:4px 0}
  .tb-cell b{font-size:15px}
  .tb-cell small{font-size:9px}
  .tb-cell.is-today{transform:none}
}
@media (max-width:380px){
  .tb-dates{grid-template-columns:1fr}
  .tb-cell small{display:none}
  .tb-cell{min-height:44px}
}
@media (prefers-reduced-motion:reduce){.tb-today-sun svg{animation:none}.tb-side{transition:none}}

/* ---------- posts, pages, 404 (v1.1.1) */
.tb-article{background:var(--tb-card-bg);border:1px solid var(--tb-line);border-radius:var(--tb-radius);padding:34px clamp(18px,4vw,48px);max-width:860px;width:100%;margin:0 auto}
.tb-article-head{margin-bottom:20px}
.tb-article-head h1{margin:6px 0;font-size:clamp(22px,3vw,30px);font-weight:900;line-height:1.6}
.tb-article-terms{display:flex;gap:6px;flex-wrap:wrap}
.tb-article-terms a{font-size:12px;font-weight:800;text-decoration:none;background:var(--tb-soft);color:var(--tb-primary);border-radius:8px;padding:2px 10px}
.tb-article-meta{margin:0;display:flex;gap:14px;color:var(--tb-muted);font-size:13px}
.tb-article-img{margin:0 0 22px}
.tb-article-img img{width:100%;border-radius:18px;display:block}
.tb-article-body{font-size:16px;line-height:2.1}
.tb-article-body h2,.tb-article-body h3{line-height:1.6;margin:1.6em 0 .5em}
.tb-article-body img,.tb-article-body video,.tb-article-body iframe{max-width:100%;height:auto;border-radius:14px}
.tb-article-body a{color:var(--tb-primary)}
.tb-article-body blockquote{margin:1.2em 0;padding:12px 18px;border-inline-start:4px solid var(--tb-primary);background:var(--tb-soft);border-radius:12px}
.tb-article-body table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.tb-article-body td,.tb-article-body th{border:1px solid var(--tb-line);padding:8px}
.tb-404{text-align:center;padding:50px 16px;display:grid;justify-items:center;gap:6px}
.tb-404-cal{position:relative;width:130px;height:130px;border-radius:34px;display:grid;place-items:center;padding-top:14px;background:linear-gradient(140deg,var(--tb-primary),var(--tb-primary2));color:#fff;box-shadow:0 24px 44px -20px var(--tb-primary);margin-bottom:14px}
.tb-404-cal i{position:absolute;top:16px;width:20px;height:7px;border-radius:4px;background:rgba(255,255,255,.85)}
.tb-404-cal i:first-child{right:30px}.tb-404-cal i:nth-child(2){left:30px}
.tb-404-cal b{font-size:38px;font-weight:900}
.tb-404 h1{margin:0;font-size:24px}
.tb-404 p{margin:0 0 12px;color:var(--tb-muted)}
.tb-404-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}

/* ---------- v1.1.3: logo, 365 titles, world clocks, world map */
.tb-logo-img{width:var(--tb-logo,64px);height:auto;max-width:100%;max-height:none;border-radius:0;object-fit:contain;flex:none}
.tb-brand.is-logo-only{justify-content:center;padding:0}
.tb-brand.has-logo:not(.is-logo-only) .tb-logo-img{width:min(var(--tb-logo,64px),96px)}
.tb-side .tb-brand.is-logo-only .tb-logo-img{width:min(var(--tb-logo,120px),100%)}
.tb-top-brand.has-logo .tb-logo-img{width:var(--tb-logo-m,46px)!important;height:auto!important}
.tb-brand.is-footer.has-logo .tb-logo-img{width:min(var(--tb-logo,120px),150px);background:#fff;border-radius:22px;padding:10px}
.tb-bahaneh{margin:12px 0 0;padding:9px 12px;border-radius:14px;background:rgba(255,255,255,.14);backdrop-filter:blur(4px);display:grid;gap:1px;max-width:340px}
.tb-bahaneh span{font-size:11px;opacity:.8}
.tb-bahaneh strong{font-size:14.5px;font-weight:800}
.tb-bahaneh strong::before{content:"✨ "}
.tb-bahaneh.is-neutral strong::before{content:""}
.tb-wclocks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;grid-column:1/-1;border-top:1px solid rgba(255,255,255,.22);padding-top:14px}
.tb-wclock{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.1);min-width:0}
.tb-wclock svg{width:42px;height:42px;flex:none}
.tb-wclock circle{fill:rgba(255,255,255,.12);stroke:rgba(255,255,255,.5);stroke-width:1}
.tb-wclock line{stroke:rgba(255,255,255,.6);stroke-width:1;stroke-linecap:round}
.tb-wclock line.h{stroke:#fff;stroke-width:2.6}
.tb-wclock line.m{stroke:#fff;stroke-width:1.8}
.tb-wclock line.s{stroke:var(--tb-accent);stroke-width:1}
.tb-wclock circle.p{fill:var(--tb-accent);stroke:none}
.tb-wclock.is-night{background:rgba(10,8,40,.25)}
.tb-wclock div{display:grid;min-width:0;line-height:1.35}
.tb-wclock strong{font-size:12px;font-weight:800}
.tb-wclock b{font-size:16px;font-weight:900;text-align:right}
.tb-wclock small{font-size:10px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:1601px){.tb-wclocks{grid-template-columns:repeat(3,minmax(0,220px));justify-content:start}}
@media (max-width:720px){.tb-wclocks{gap:6px}.tb-wclock{flex-direction:column;text-align:center;gap:4px;padding:8px 4px}.tb-wclock b{text-align:center;font-size:14px}.tb-wclock small{white-space:normal;font-size:9.5px}.tb-wclock svg{width:36px;height:36px}}
.tb-world{background:linear-gradient(160deg,#141532,#1d1b46 60%,#24205a);color:#fff;border:0;overflow:hidden}
.tb-world-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.tb-world-head h2{margin:0;font-size:18px;color:#fff}
.tb-world .tb-muted{color:rgba(255,255,255,.65)}
.tb-world-head p{margin:2px 0 0;font-size:12px}
.tb-world .tb-btn.is-soft{background:rgba(255,255,255,.12);color:#fff}
.tb-world-map{position:relative;border-radius:16px;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,rgba(91,75,224,.25),transparent 70%)}
.tb-world-map{direction:ltr;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.tb-world-map canvas{display:block;max-width:none}
@media (max-width:620px){.tb-world-map::after{content:"⇆ برای دیدن همه جهان بکشید";position:sticky;left:0;display:block;text-align:center;font-size:11px;color:rgba(255,255,255,.55);padding:6px 0 2px;direction:rtl}}
.tb-world-time{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;margin-top:12px}
.tb-world-time span{font-weight:800;font-size:13px;white-space:nowrap}
.tb-world-time input{width:100%;accent-color:var(--tb-accent)}
.tb-world-time small{grid-column:2;font-size:11px;text-align:center}
.tb-world-info{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tb-world-info span{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border-radius:12px;padding:6px 10px;font-size:12.5px}
.tb-world-info i,.tb-world-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.w-sun,.w-dayc{background:#ffd678}.w-moon{background:#e9ecff}.w-day{background:#fff}.w-night,.w-nightc{background:#4654a0}.w-duskc{background:#f0785a}
.tb-world-legend{display:flex;gap:14px;margin-top:10px;font-size:12px;color:rgba(255,255,255,.7)}
.tb-world-legend span{display:inline-flex;align-items:center;gap:6px}
@media (max-width:720px){.tb-world-time{grid-template-columns:1fr}.tb-world-time small{grid-column:1}.tb-world-info span{font-size:11.5px}}
@media (max-width:980px){.tb-side .tb-brand.is-logo-only .tb-logo-img{width:min(var(--tb-logo,120px),150px)}}

/* v1.1.4 — tighter space between the logo and the menu */
.tb-side{padding-top:18px;gap:6px}
.tb-side .tb-brand.has-logo{margin-bottom:0}
.tb-side .tb-nav{margin-top:0}
.tb-side .tb-nav .tb-nav-label:first-child{margin-top:6px}
.tb-side .tb-nav-label{margin:10px 10px 2px}
