/* ZT Core blocks — themed through --zt-* variables (fallbacks are the dark palette) */
.zt-block{--b:var(--zt-blue,#4aa3ff);--g:var(--zt-green,#3ddc97);--bg:var(--zt-bg,#0a0f1a);--panel:var(--zt-panel,#121c2f);--line:var(--zt-line,#22314d);--tx:var(--zt-text,#c4d0e4);--mu:var(--zt-muted,#8393ad);--hd:var(--zt-heading,#f1f6ff);--mono:var(--zt-mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);margin-block:1.5rem}
.zt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.zt-grid-sm{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.zt-card{background:var(--panel,var(--zt-panel,#121c2f));border:1px solid var(--line,var(--zt-line,#22314d));border-radius:10px;padding:22px;transition:border-color .2s,transform .2s;color:var(--tx,inherit)}
.zt-card:hover{border-color:var(--g,#3ddc97)}
.zt-card h3{font:600 17px/1.3 var(--mono,monospace);margin:0 0 10px;color:var(--hd,inherit)}
.zt-card h3 a{color:inherit;text-decoration:none}
.zt-card p{margin:0 0 12px;font-size:15px}
.zt-app-img img{width:100%;height:auto;border-radius:6px;margin-bottom:14px;display:block}
.zt-app-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.zt-app-head h3{margin:0;flex:1 1 auto}
.zt-badge{font:500 11px var(--mono,monospace);padding:2px 9px;border-radius:99px;border:1px solid var(--line,#22314d);color:var(--mu,#8393ad);text-transform:uppercase;letter-spacing:.06em}
.zt-badge-live{color:var(--g,#3ddc97);border-color:var(--g,#3ddc97)}
.zt-badge-beta{color:var(--b,#4aa3ff);border-color:var(--b,#4aa3ff)}
.zt-dot{width:10px;height:10px;border-radius:50%;background:#6b7a93;display:inline-block;flex:none}
.zt-dot-up{background:#3ddc97;box-shadow:0 0 0 3px rgba(61,220,151,.2)}
.zt-dot-down{background:#ff5f56;box-shadow:0 0 0 3px rgba(255,95,86,.2)}
.zt-metrics{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 14px;font-family:var(--mono,monospace)}
.zt-metrics dt{font-size:11px;color:var(--mu,#8393ad);text-transform:uppercase;letter-spacing:.06em}
.zt-metrics dd{margin:0;font-size:18px;color:var(--g,#3ddc97)}
.zt-tags{list-style:none;margin:0 0 12px!important;padding:0!important;display:flex;flex-wrap:wrap;gap:8px}
.zt-tags li{font:12px var(--mono,monospace);padding:3px 10px;border:1px solid var(--line,#22314d);border-radius:99px;color:var(--mu,#8393ad);margin:0!important}
.zt-app-links{display:flex;gap:16px;font:500 13px var(--mono,monospace)}
.zt-app-links a,.zt-more{color:var(--g,#3ddc97);text-decoration:none}
.zt-app-links a:hover,.zt-more:hover{text-decoration:underline}
.zt-org{color:var(--b,#4aa3ff)!important;font-size:14px!important}
.zt-price{font-family:var(--mono,monospace);color:var(--g,#3ddc97)}
.zt-empty{color:var(--mu,#8393ad);font-style:italic}

.zt-btn,button.zt-btn{display:inline-block;padding:10px 18px;border:1px solid var(--line,#22314d);border-radius:6px;font:500 13px var(--mono,monospace);color:var(--tx,inherit)!important;background:transparent;text-decoration:none;cursor:pointer;transition:.15s}
.zt-btn:hover{border-color:var(--g,#3ddc97);color:var(--g,#3ddc97)!important}
.zt-btn-primary{background:var(--g,#3ddc97);border-color:var(--g,#3ddc97);color:#06130d!important}
.zt-btn-primary:hover{background:transparent;color:var(--g,#3ddc97)!important}
.zt-btn:disabled{opacity:.5;cursor:wait}

.zt-timeline{list-style:none;margin:0;padding:0 0 0 22px!important;border-left:2px solid var(--line,#22314d)}
.zt-timeline li{position:relative;display:grid;grid-template-columns:170px 1fr;gap:24px;padding:0 0 30px;margin:0}
.zt-timeline li:before{content:"";position:absolute;left:-29px;top:7px;width:12px;height:12px;border-radius:50%;background:var(--bg,#0a0f1a);border:2px solid var(--g,#3ddc97)}
.zt-timeline time{font:13px var(--mono,monospace);color:var(--g,#3ddc97);padding-top:2px}
.zt-timeline h3{font:600 17px var(--mono,monospace);margin:0 0 4px;color:var(--hd,inherit)}
.zt-timeline p{margin:0 0 6px}

.zt-form{display:grid;gap:16px;max-width:680px}
.zt-form label{display:grid;gap:6px;font:500 13px var(--mono,monospace);color:var(--mu,#8393ad)}
.zt-form input,.zt-form select,.zt-form textarea{font:16px var(--zt-sans,system-ui,sans-serif);padding:11px 13px;border:1px solid var(--line,#22314d);border-radius:6px;background:var(--panel,#121c2f);color:var(--tx,inherit);width:100%;box-sizing:border-box}
.zt-form input:focus,.zt-form select:focus,.zt-form textarea:focus{outline:2px solid var(--g,#3ddc97);outline-offset:1px;border-color:transparent}
.zt-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.zt-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.zt-form-status{font:13px var(--mono,monospace);margin:0;min-height:1.4em}
.zt-form-status.ok{color:var(--g,#3ddc97)}.zt-form-status.err{color:#ff7b72}

.zt-resume{max-width:860px}
.zt-resume-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;border-bottom:1px solid var(--line,#22314d);padding-bottom:18px;margin-bottom:8px}
.zt-resume h2{font:700 30px var(--mono,monospace);margin:0;color:var(--hd,inherit)}
.zt-resume h3.zt-sec,.zt-resume section>h3{font:600 12px var(--mono,monospace);text-transform:uppercase;letter-spacing:.12em;color:var(--g,#3ddc97);border-bottom:1px dashed var(--line,#22314d);padding-bottom:6px;margin:26px 0 14px}
.zt-role{color:var(--g,#3ddc97);font-family:var(--mono,monospace);margin:4px 0 6px}
.zt-resume-meta{color:var(--mu,#8393ad);font-size:14px;margin:0}
.zt-skill-list{display:grid;gap:8px;margin:0}
.zt-skill-list div{display:grid;grid-template-columns:170px 1fr;gap:16px}
.zt-skill-list dt{font:600 13px var(--mono,monospace);color:var(--hd,inherit)}
.zt-skill-list dd{margin:0}
.zt-plain{list-style:none;padding:0!important;margin:0}
.zt-plain li{margin:0 0 6px}

@media(max-width:700px){.zt-timeline li,.zt-skill-list div,.zt-row{grid-template-columns:1fr;gap:4px}}
@media print{
  header,footer,nav,.zt-noprint,.wp-block-template-part,#wpadminbar,.zt-themebtn{display:none!important}
  body{background:#fff!important;color:#111!important;font-size:11pt}
  .zt-resume,.zt-resume *{color:#111!important;background:none!important;border-color:#bbb!important}
  .zt-resume h2{font-size:22pt}.zt-resume .zt-role,.zt-resume .zt-org,.zt-timeline time{color:#1b5e9d!important}
  .zt-timeline li:before{border-color:#1b5e9d!important}
  .zt-resume a{text-decoration:none}
  .zt-timeline li{break-inside:avoid;grid-template-columns:130px 1fr}
}
.zt-form [hidden]{display:none!important}
.zt-form button[type=submit]{justify-self:start}
