/* Zambo Handover. Uses the shared ivory / lime / graphite tokens from polish.css. */
.ho-body{--ho-bg:#F5F3EE;--ho-card:#FFFFFF;--ho-line:#DEDAD1;--ho-ink:#16171A;--ho-muted:#6B6E68;--ho-lime:#C6FF3D;--ho-lime-ink:#405A0A;--ho-ok:#2F6B12;--ho-ok-bg:#EEF9D6;--ho-bad:#A2271C;--ho-bad-bg:#FCE9E5;--ho-wait:#7A5A0A;--ho-wait-bg:#FBF2DA;background:var(--ho-bg);color:var(--ho-ink);font-family:var(--zp-sans,system-ui,sans-serif);-webkit-font-smoothing:antialiased}
.ho-main{padding:calc(var(--zp-nav-h,64px) + 28px) 0 72px}
.ho-wrap{width:min(920px,100% - 32px);margin:0 auto;display:grid;gap:18px}
.ho-kicker{margin:0;color:var(--ho-lime-ink);font:700 12px/1.2 var(--zp-mono,monospace);letter-spacing:.12em;text-transform:uppercase}
.ho-muted{color:var(--ho-muted)}
.ho-fine{color:var(--ho-muted);font-size:13px;line-height:1.5;margin:12px 0 0}
.ho-card,.ho-hero,.ho-owner,.ho-respond,.ho-viral,.ho-break,.ho-proves{background:var(--ho-card);border:1px solid var(--ho-line);border-radius:18px;padding:clamp(18px,3vw,28px)}
.ho-card h2,.ho-respond h2,.ho-viral h2{margin:0 0 12px;font-size:clamp(19px,2.4vw,23px);letter-spacing:-.02em;line-height:1.15}
code{font-family:var(--zp-mono,monospace);font-size:.92em;word-break:break-all}

/* buttons */
.ho-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:1px solid #C9C6BD;border-radius:999px;background:#FFFFFF;color:var(--ho-ink);font:650 14px/1 inherit;font-family:inherit;text-decoration:none;cursor:pointer;transition:transform .15s ease,background-color .15s ease,border-color .15s ease}
.ho-btn:hover{border-color:var(--ho-ink)}
.ho-btn:active{transform:scale(.97)}
.ho-btn:disabled{opacity:.5;cursor:not-allowed}
.ho-btn-lime{background:var(--ho-lime);border-color:#A5CF2A}
.ho-btn-lime:hover{border-color:var(--ho-ink)}
.ho-btn-big{min-height:52px;padding:0 24px;font-size:16px}
.ho-btn-danger{color:var(--ho-bad);border-color:#E4B5AE}
.ho-btn:focus-visible,.ho-linkbtn:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #A5CF2A;outline-offset:2px}
.ho-linkbtn{background:none;border:0;padding:0;color:var(--ho-lime-ink);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ho-wrap a:not(.ho-btn){color:var(--ho-lime-ink);text-underline-offset:3px}
.ho-nav-add{text-decoration:none}

/* pills & checks */
.ho-pill,.ho-check{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font:650 12px/1.2 var(--zp-mono,monospace);background:#F2F0E9;color:var(--ho-muted);white-space:nowrap}
.ho-check::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.6}
.ho-pill-ok,.ho-check.is-ok{background:var(--ho-ok-bg);color:var(--ho-ok)}
.ho-pill-bad,.ho-check.is-bad{background:var(--ho-bad-bg);color:var(--ho-bad)}
.ho-pill-wait,.ho-check.is-wait{background:var(--ho-wait-bg);color:var(--ho-wait)}
.ho-check.is-ok::before{opacity:1}
.ho-check.is-bad::before{opacity:1;animation:ho-blink .9s ease 2}
@keyframes ho-blink{50%{opacity:.15}}

/* hero */
.ho-hero{position:relative;overflow:hidden;padding:clamp(22px,4vw,40px)}
.ho-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:radial-gradient(circle at 7px 10px,var(--ho-bg) 5px,transparent 5.5px) 0 0/14px 10px repeat-x;pointer-events:none}
.ho-brand{margin:0 0 14px;color:var(--ho-muted);font:600 13px/1 var(--zp-mono,monospace);letter-spacing:.06em;text-transform:uppercase}
.ho-hero-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;color:var(--ho-muted);font-size:14px}
.ho-status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font:750 13px/1 inherit;background:#F2F0E9;color:var(--ho-ink)}
.ho-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.ho-status-accepted,.ho-status-resolved{background:var(--ho-lime);color:var(--ho-ink)}
.ho-status-flagged{background:var(--ho-bad-bg);color:var(--ho-bad)}
.ho-status-revoked{background:#E9E6DE;color:var(--ho-muted);text-decoration:line-through}
.ho-hero h1{margin:16px 0 8px;font-size:clamp(30px,5.4vw,56px);line-height:.98;letter-spacing:-.045em;max-width:18ch}
.ho-derived{display:inline-block;vertical-align:middle;padding:3px 8px;border:1px dashed #A5CF2A;border-radius:6px;color:var(--ho-lime-ink);font:600 12px/1 var(--zp-mono,monospace);letter-spacing:0}
.ho-for{margin:0;font-size:17px}
.ho-summary{margin:14px 0 0;max-width:62ch;color:#434740;font-size:17px;line-height:1.55}
.ho-revoked{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#F2F0E9;color:var(--ho-muted)}
.ho-verify{margin-top:26px;padding:20px;border-radius:16px;background:var(--ho-ink);color:#F5F3EE;display:grid;grid-template-columns:auto 1fr;gap:12px 22px;align-items:center;transition:background-color .3s ease}
.ho-verify.is-bad{background:#3A1410}
.ho-verify-count{display:flex;align-items:baseline;gap:8px}
.ho-verify-count span{font:800 clamp(44px,8vw,72px)/.9 var(--zp-mono,monospace);letter-spacing:-.06em;color:var(--ho-lime)}
.ho-verify.is-bad .ho-verify-count span{color:#FF8B7A}
.ho-verify-count small{color:#B9BBB3;font-size:13px;max-width:11ch;line-height:1.3}
.ho-verify-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-self:end}
.ho-verify-actions a{color:#DDF79A!important}
.ho-verify-msg{grid-column:1/-1;margin:0;color:#D8D9D2;font-size:14px}
.ho-root{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #34362F;color:#B9BBB3;font-size:13px}
.ho-root code{color:#F5F3EE}

/* break it */
.ho-break{border:2px solid var(--ho-ink);transition:border-color .2s ease}
.ho-break.is-bad{border-color:var(--ho-bad)}
.ho-break.is-ok{border-color:#A5CF2A}
.ho-break-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px}
.ho-break-head h2{margin:6px 0 0;font-size:clamp(20px,3vw,28px);letter-spacing:-.03em}
.ho-break-head label{display:grid;gap:6px;font-size:13px;color:var(--ho-muted)}
.ho-break-box{width:100%;min-height:150px;padding:14px;border:1px solid var(--ho-line);border-radius:12px;background:#F8F7F2;color:#272923;font:13px/1.55 var(--zp-mono,monospace);resize:vertical}
.ho-break.is-bad .ho-break-box{background:var(--ho-bad-bg)}
.ho-break-foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}
.ho-break-state{font-weight:750}
.ho-break.is-bad .ho-break-state{color:var(--ho-bad)}
.ho-break.is-ok .ho-break-state{color:var(--ho-ok)}
.ho-break-foot code{color:var(--ho-muted);font-size:12px}
.ho-break-foot .ho-btn{margin-left:auto}

/* timeline */
.ho-timeline{list-style:none;margin:0;padding:0 0 0 22px;position:relative}
.ho-timeline::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:repeating-linear-gradient(var(--ho-line) 0 6px,transparent 6px 10px)}
.ho-step{position:relative;padding:12px 0 16px 14px;border-bottom:1px solid #EFEDE6}
.ho-step:last-child{border-bottom:0}
.ho-step-dot{position:absolute;left:-21px;top:18px;width:12px;height:12px;border-radius:50%;background:#FFFFFF;border:2px solid #C9C6BD;transition:background-color .2s ease,border-color .2s ease}
.ho-step.is-ok .ho-step-dot{background:var(--ho-lime);border-color:#7FA51E}
.ho-step.is-bad .ho-step-dot{background:var(--ho-bad);border-color:var(--ho-bad)}
.ho-step.is-bad{background:linear-gradient(90deg,var(--ho-bad-bg),transparent 70%)}
.ho-hop{display:inline-block;margin:0 0 8px;padding:3px 9px;border-radius:6px;background:#F2F0E9;color:var(--ho-lime-ink);font:600 12px/1.3 var(--zp-mono,monospace)}
.ho-step-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.ho-step-n{font:700 12px/1 var(--zp-mono,monospace);color:var(--ho-muted)}
.ho-tool{font-weight:700;font-size:15px}
.ho-ai{padding:3px 9px;border:1px solid var(--ho-line);border-radius:999px;font-size:12px;font-weight:650;cursor:help}
.ho-ai sup{margin-left:4px;color:var(--ho-muted);font-size:9px;font-weight:500;vertical-align:1px}
.ho-step-head .ho-check{margin-left:auto}
.ho-preview{margin:8px 0;color:#434740;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.ho-step-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--ho-muted);font-size:12px}
.ho-empty{display:grid;gap:4px;padding:16px;border-radius:12px;background:#F8F7F2}

/* lists */
.ho-deliv,.ho-list,.ho-events,.ho-track{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ho-deliv li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border:1px solid #EFEDE6;border-radius:12px}
.ho-deliv li>div{display:grid;gap:3px;flex:1 1 220px}
.ho-deliv code{color:var(--ho-muted);font-size:12px}
.ho-list li{padding:10px 12px;border-left:3px solid #E0B44A;background:#FBF8EF;border-radius:0 10px 10px 0}
.ho-two{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
.ho-unchecked{border-color:#E8D7A8}
.ho-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0}
.ho-dl dt{color:var(--ho-muted);font-size:13px}.ho-dl dd{margin:0}
.ho-events li{padding:12px;border:1px solid #EFEDE6;border-radius:12px}
.ho-events p{margin:6px 0}
.ho-events span{color:var(--ho-muted);font-size:12px}

/* proves */
.ho-proves{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden}
.ho-proves>div{padding:clamp(18px,3vw,26px)}
.ho-proves>div:first-child{background:#F4FBE3}
.ho-proves h3{margin:0 0 10px;font-size:16px}
.ho-proves ul{margin:0;padding-left:18px;display:grid;gap:7px;color:#434740;font-size:14px;line-height:1.45}

/* respond */
.ho-respond{border:2px solid var(--ho-ink)}
.ho-respond-tabs{display:inline-flex;gap:4px;padding:4px;margin:6px 0 16px;border-radius:999px;background:#F2F0E9}
.ho-respond-tabs button{min-height:38px;padding:0 16px;border:1px solid transparent;border-radius:999px;background:none;font:650 14px/1 inherit;font-family:inherit;cursor:pointer;color:var(--ho-ink)}
.ho-form{display:grid;gap:12px}
.ho-form label,.ho-owner-form label,.ho-owner-grid label{display:grid;gap:6px;font-size:13px;font-weight:600;color:#434740}
.ho-form input,.ho-form textarea,.ho-form select,.ho-owner textarea,.ho-owner select,.ho-break-head select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #C9C6BD;border-radius:10px;background:#FFFFFF;color:var(--ho-ink);font:16px/1.4 inherit;font-family:inherit}
.ho-form-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}
.ho-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ho-result{margin-top:12px;font-size:14px}
.ho-result:empty{display:none}
.ho-result.is-ok{padding:14px;border-radius:12px;background:var(--ho-ok-bg);color:var(--ho-ok)}
.ho-result.is-bad{padding:14px;border-radius:12px;background:var(--ho-bad-bg);color:var(--ho-bad)}
.ho-result p{margin:0 0 6px}

/* owner */
.ho-owner{background:#FBFDF3;border:1px solid #A5CF2A;display:grid;gap:14px}
.ho-owner-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}
.ho-owner-head span{color:var(--ho-muted);font-size:13px}
.ho-owner-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ho-owner-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.ho-owner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:center}
.ho-inline{display:flex!important;align-items:center;gap:8px!important;font-weight:500!important}
.ho-inline input{width:18px;height:18px;accent-color:#7FA51E}
.ho-owner-msg{margin:0;font-size:14px;font-weight:600;color:var(--ho-lime-ink)}
.ho-owner-msg:empty{display:none}

/* viral */
.ho-viral{background:var(--ho-lime);border-color:#A5CF2A}
.ho-viral h2{max-width:24ch}
.ho-copyrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;padding:8px 8px 8px 14px;border-radius:14px;background:rgba(255,255,255,.75);border:1px solid rgba(22,23,26,.12)}
.ho-copyrow>code,.ho-copyrow>span{flex:1 1 220px;font-size:14px}
.ho-copyrow-big{background:#FFFFFF;border-color:var(--ho-line);max-width:640px}
.ho-setup{margin:8px 0 0;font-size:14px}
.ho-viral a{color:var(--ho-ink)!important;font-weight:650}
.ho-made{text-align:center;color:var(--ho-muted);font-size:13px}
.ho-footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ho-footer-actions .ho-link{margin-left:auto;color:var(--ho-muted)!important;font-size:13px}

/* landing */
.ho-land-hero{padding:clamp(24px,6vw,64px) 0 8px}
.ho-land-hero h1{margin:14px 0 16px;font-size:clamp(40px,7.5vw,84px);line-height:.92;letter-spacing:-.06em}
.ho-land-hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--ho-lime) 62% 92%,transparent 92%)}
.ho-lede{max-width:58ch;color:#434740;font-size:clamp(17px,2vw,19px);line-height:1.55;margin:0 0 18px}
.ho-land-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}
.ho-land-steps li{padding:22px;border:1px solid var(--ho-line);border-radius:18px;background:#FFFFFF}
.ho-land-steps li:first-child{background:var(--ho-ink);color:#F5F3EE}
.ho-land-steps li:first-child p{color:#C9CBC3}
.ho-land-steps span{font:700 12px/1 var(--zp-mono,monospace);color:var(--ho-lime-ink)}
.ho-land-steps li:first-child span{color:var(--ho-lime)}
.ho-land-steps h2{margin:10px 0 6px;font-size:19px;letter-spacing:-.02em}
.ho-land-steps p{margin:0;color:var(--ho-muted);font-size:14px;line-height:1.5}
.ho-table{width:100%;border-collapse:collapse;font-size:14px}
.ho-table th,.ho-table td{padding:10px 8px;border-bottom:1px solid #EFEDE6;text-align:left}
.ho-table thead th{color:var(--ho-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.ho-center{text-align:center;justify-items:center;padding:clamp(32px,8vw,90px) 0}
.ho-center h1{margin:12px 0;font-size:clamp(32px,6vw,56px);letter-spacing:-.045em;line-height:1}
.ho-center .ho-form{width:min(520px,100%);text-align:left}
.ho-track a{display:grid;gap:4px;padding:16px;border:1px solid var(--ho-line);border-radius:14px;background:#FFFFFF;text-decoration:none;color:var(--ho-ink)!important}
.ho-track span{color:var(--ho-muted);font-size:13px}
.ho-empty-state{display:grid;justify-items:start;gap:8px;padding:28px;border:1px dashed #C9C6BD;border-radius:18px;background:#FFFFFF}
.ho-empty-state p{margin:0;color:var(--ho-muted)}

/* toast */
.ho-toast{position:fixed;left:50%;bottom:24px;z-index:90;padding:12px 18px;border-radius:999px;background:var(--ho-ink);color:#F5F3EE;font-size:14px;font-weight:600;transform:translate(-50%,12px);opacity:0;transition:opacity .2s ease,transform .2s ease}
.ho-toast.is-on{opacity:1;transform:translate(-50%,0)}

@media (max-width:760px){
  .ho-two,.ho-proves,.ho-land-steps{grid-template-columns:1fr}
  .ho-verify{grid-template-columns:1fr}
  .ho-verify-actions{justify-self:stretch}
  .ho-verify-actions .ho-btn{flex:1 1 100%}
  .ho-step-head .ho-check{margin-left:0}
  .ho-owner-form{grid-template-columns:1fr}
  .ho-break-foot .ho-btn{margin-left:0}
  .ho-footer-actions .ho-btn{flex:1 1 100%}
  .ho-footer-actions .ho-link{margin-left:0}
}
@media (prefers-reduced-motion:reduce){.ho-body *{transition:none!important;animation:none!important}}

/* verification detail, publication-copy labels, owner pass, report */
.ho-desc{margin:10px 0 0;color:var(--ho-lime-ink);font:600 13px/1.4 var(--zp-mono,monospace)}
.ho-copylabel{margin:8px 0 0;color:var(--ho-muted);font-size:12px;line-height:1.45}
.ho-progress{grid-column:1/-1;height:4px;border-radius:4px;background:#34362F;overflow:hidden}
.ho-progress span{display:block;height:100%;background:var(--ho-lime);transform-origin:left;transform:scaleX(0);transition:transform .2s ease}
.ho-checklist{grid-column:1/-1;list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}
.ho-checklist li{padding-left:16px;position:relative;color:#D8D9D2}
.ho-checklist li::before{content:"";position:absolute;left:0;top:.45em;width:8px;height:8px;border-radius:50%}
.ho-checklist li.is-ok::before{background:var(--ho-lime)}
.ho-checklist li.is-bad{color:#FFB4A8}
.ho-checklist li.is-bad::before{background:#FF8B7A}
.ho-private{margin:8px 0;padding:10px 12px;border:1px solid var(--ho-line);border-radius:10px;background:#F8F7F2}
.ho-private summary{cursor:pointer;font-size:13px;font-weight:650}
.ho-private pre{max-height:240px;overflow:auto;white-space:pre-wrap;font:12px/1.5 var(--zp-mono,monospace)}
.ho-pass{padding:12px 14px;border:1px solid var(--ho-line);border-radius:12px;background:#FFFFFF}
.ho-pass summary{cursor:pointer;font-weight:650;font-size:14px}
.ho-pass input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #C9C6BD;border-radius:10px;font:16px/1.4 inherit;font-family:var(--zp-mono,monospace)}
.ho-report{padding:12px 0;color:var(--ho-muted);font-size:14px}
.ho-report summary{cursor:pointer}
.ho-report .ho-form{margin-top:10px;max-width:520px}
