/* Hovarns platform pages — licence agreement (licence.html) and Updates (admin/updates.html). Tokens only. */

/* ============ licence.html ============ */
.lic{max-width:1180px;margin:0 auto;padding:20px 28px 64px}
.lic-mast{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:32px}
.lic-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--brand-900)}
.lic-brand b{display:block;font:700 var(--t-16)/1.1 var(--f-display);letter-spacing:-.01em}
.lic-brand small{display:block;font-size:var(--t-12);color:var(--ink-3)}
.lic-mono{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--brand-900);color:var(--on-brand);font:700 var(--t-18)/1 var(--f-display)}
.lic-mast-end{display:flex;gap:8px;align-items:center}

.lic-head{max-width:72ch;margin-bottom:24px}
.lic-head h1{font-size:var(--t-36);letter-spacing:-.025em;line-height:1.12;margin-bottom:10px}
.lic-by{color:var(--ink-2);margin:0 0 20px}
.lic-by b{color:var(--ink-1);font-weight:600}
.lic-draft{max-width:72ch}

.lic-status{margin-bottom:40px}
.lic-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.lic-facts>div{padding:12px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.lic-facts>div:nth-child(3n){border-right:0}
.lic-facts>div:nth-last-child(-n+3){border-bottom:0}
.lic-facts dt{font:600 var(--t-12)/1.2 var(--f-display);letter-spacing:.03em;color:var(--ink-3);margin-bottom:4px}
.lic-facts dd{margin:0;font-size:var(--t-14);color:var(--ink-1);overflow-wrap:anywhere}
.lic-facts dd>.muted,.lic-facts dd>.lic-ok,.lic-facts dd>.lic-warn{display:flex;margin-top:2px}
.lic-facts dd b{font-weight:600}
.lic-ok,.lic-warn{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.lic-ok{color:var(--success)} .lic-warn{color:var(--warn)}
.lic-mods{margin:12px 0 0}

.lic-body{display:grid;grid-template-columns:240px minmax(0,72ch);gap:48px;align-items:start}
.lic-toc{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;font-size:var(--t-14)}
.lic-toc summary{font:600 var(--t-14)/1.2 var(--f-display);color:var(--brand-900);cursor:pointer;padding:6px 0 10px;list-style:none}
.lic-toc summary::-webkit-details-marker{display:none}
.lic-toc ol{margin:0;padding:0 0 0 34px;color:var(--ink-3);border-left:1px solid var(--margin-rule)}
.lic-toc li{padding:3px 0}
.lic-toc a{color:var(--ink-2);text-decoration:none}
.lic-toc a:hover{color:var(--brand-900);text-decoration:underline;text-underline-offset:3px}

.lic-doc{color:var(--ink-1);line-height:1.65;counter-reset:none}
.lic-doc section{padding-bottom:12px;scroll-margin-top:20px}
.lic-doc section+section{border-top:1px solid var(--line);padding-top:24px}
.lic-doc h2{font-size:var(--t-20);margin:0 0 12px;display:flex;gap:10px}
.lic-doc h2 .n{color:var(--ink-3);font-variant-numeric:tabular-nums;min-width:2.1ch}
.lic-doc p{margin:0 0 12px}
.lic-doc ul,.lic-doc ol{margin:0 0 12px;padding-left:24px}
.lic-doc li{margin-bottom:6px}
.lic-doc li::marker{color:var(--ink-3)}
.lic-defs{margin:0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px 20px}
.lic-defs dt{font:600 var(--t-14)/1.5 var(--f-display);color:var(--brand-900);padding-top:2px}
.lic-defs dd{margin:0}
.lic-table{border:1px solid var(--line);border-radius:var(--r-sm);margin:4px 0 16px}
.lic-todo{background:var(--warn-bg);color:var(--warn);font-weight:600;padding:1px 6px;border-radius:4px;border:1px dashed var(--warn)}
.lic-contact{font-style:normal;margin:0 0 12px;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sheet);line-height:1.7}
.lic-foot{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font-size:var(--t-14);color:var(--ink-2);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.lic-foot p{margin:0}

@media (max-width:920px){
  .lic{padding:16px 16px 48px}
  .lic-mast{margin-bottom:24px}
  .lic-head h1{font-size:var(--t-24)}
  .lic-body{grid-template-columns:minmax(0,1fr);gap:24px}
  .lic-toc{position:static;max-height:none;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sheet);padding:8px 16px}
  .lic-toc summary{padding:8px 0;display:flex;align-items:center;min-height:28px}
  .lic-toc details:not([open]) summary{padding-bottom:8px}
  .lic-toc li{padding:5px 0}
  .lic-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lic-facts>div:nth-child(3n){border-right:1px solid var(--line)}
  .lic-facts>div:nth-child(2n){border-right:0}
  .lic-facts>div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
  .lic-facts>div:nth-last-child(-n+2){border-bottom:0}
}
@media (max-width:520px){
  .lic-facts{grid-template-columns:minmax(0,1fr)}
  .lic-facts>div{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .lic-facts>div:last-child{border-bottom:0!important}
  .lic-defs{grid-template-columns:minmax(0,1fr);gap:2px}
  .lic-defs dd{margin-bottom:10px}
  .lic-mast-end .btn-ghost{display:none}
}
@media print{
  .lic{max-width:none;padding:0}
  .lic-body{display:block}
  .lic-toc{display:none}
  .lic-doc{max-width:none;font-size:11pt}
  .lic-doc section{break-inside:auto}
  .lic-doc h2{break-after:avoid}
  .lic-status{break-inside:avoid;box-shadow:none}
  .lic-todo{border:1px dashed currentColor}
  .lic-doc a[href^="http"]::after{content:" (" attr(href) ")"}
}

/* ============ admin/updates.html ============ */
.main:has(.upd) .hz-update-bar{display:none}   /* the banner points here; no need to repeat it on this page */
.upd-block{margin:0}
.upd-title{font:600 var(--t-18)/1.3 var(--f-display);color:var(--brand-900);margin:0 0 14px}
.upd-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.upd-meta dt{font:600 var(--t-12)/1.2 var(--f-display);letter-spacing:.03em;color:var(--ink-3);margin-bottom:4px}
.upd-meta dd{margin:0;font-size:var(--t-14);font-weight:600;color:var(--ink-1)}
.upd-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.upd-notes h3{font-size:var(--t-14);display:flex;align-items:center;gap:6px;margin-bottom:8px}
.upd-notes h3 .ico-sm{color:var(--brand-700)}
.upd-notes ul{margin:0;padding-left:18px;font-size:var(--t-14);color:var(--ink-2)}
.upd-notes li{margin-bottom:6px}
.upd-req{display:flex;gap:6px;align-items:flex-start;margin:16px 0 0}
.upd-req .ico-sm{flex:none;margin-top:3px}

.upd-steps{list-style:none;margin:0;padding:8px 20px 12px;counter-reset:st}
.upd-steps>li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line);counter-increment:st}
.upd-steps>li:last-child{border-bottom:0}
.upd-steps>li>div>b{display:block;font-weight:600;color:var(--ink-1)}
.upd-steps>li>div>.small{display:block}
.upd-dot{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--line-2);display:grid;place-items:center;font:700 var(--t-12)/1 var(--f-display);color:var(--ink-3);background:var(--sheet);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.upd-dot::before{content:counter(st)}
.upd-state{font:600 var(--t-12)/1.2 var(--f-display);color:var(--ink-3);padding-top:5px;white-space:nowrap;text-align:right}
.upd-steps>li[data-s="run"] .upd-dot{border-color:var(--brand-700);color:var(--brand-900);animation:upd-pulse 1s var(--ease) infinite alternate}
.upd-steps>li[data-s="run"] .upd-state{color:var(--brand-700)}
.upd-steps>li[data-s="ok"] .upd-dot{background:var(--success);border-color:var(--success);color:var(--on-brand)}
.upd-steps>li[data-s="ok"] .upd-dot::before{content:"";width:8px;height:4px;border:2px solid currentColor;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.upd-steps>li[data-s="ok"] .upd-state{color:var(--success)}
.upd-steps>li[data-s="fail"] .upd-dot{background:var(--danger);border-color:var(--danger);color:var(--on-brand)}
.upd-steps>li[data-s="fail"] .upd-state{color:var(--danger)}
.upd-steps>li[data-s="skip"]{opacity:.55}
@keyframes upd-pulse{to{box-shadow:0 0 0 4px rgba(var(--brand-rgb),.12)}}

.upd-files{margin-top:10px}
.upd-files .meter{margin-bottom:8px}
.upd-file-list{list-style:none;margin:0;padding:0;font-size:var(--t-12)}
.upd-file-list li{display:grid;grid-template-columns:16px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:4px 0;border-bottom:1px dashed var(--line)}
.upd-file-list li:last-child{border-bottom:0}
.upd-file-list code{font:500 var(--t-12)/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upd-fs{display:grid;color:var(--ink-3)}
.upd-file-list li[data-ok="true"] .upd-fs{color:var(--success)}
.upd-file-list li[data-ok="false"] .upd-fs{color:var(--danger)}
.upd-file-list li[data-ok="false"] code{color:var(--danger)}
.upd-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink-3)}
.upd-done{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.upd-done .btn{margin-left:auto}

.upd-hist .upd-ver{font:700 var(--t-14)/1 var(--f-display);color:var(--brand-900);min-width:44px}
.upd-hist .who b{font-weight:600}

.upd-auto{gap:16px}
.upd-switch b,.upd-auto .check b{display:block;font-weight:600;color:var(--ink-1)}
.upd-auto .check .hint{display:block;color:var(--ink-2);font-size:var(--t-12);margin-top:2px}
.upd-switch input{appearance:none;-webkit-appearance:none;flex:none;width:40px!important;height:24px!important;border-radius:var(--r-pill);background:var(--line-2);position:relative;cursor:pointer;transition:background var(--dur) var(--ease);margin:0}
.upd-switch input::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--sheet);box-shadow:var(--sh-1);transition:transform var(--dur) var(--ease)}
.upd-switch input:checked{background:var(--brand-900)}
.upd-switch input:checked::after{transform:translateX(16px)}
.upd-switch input:focus-visible{box-shadow:var(--focus);outline:0}
.upd-auto .seg{align-self:flex-start}

.upd-how h3{font-size:var(--t-14);display:flex;align-items:center;gap:8px;margin:0 0 4px}
.upd-how h3 .ico-sm{color:var(--brand-700)}
.upd-how p{margin:0 0 16px;color:var(--ink-2)}
.upd-how-steps{margin:0 0 16px;padding-left:20px;color:var(--ink-2)}
.upd-how-steps li{margin-bottom:4px}
.upd-how-steps b{color:var(--ink-1);font-weight:600}
.upd-rule{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm);background:var(--success-bg);color:var(--success);margin:0!important}
.upd-rule .ico-sm{flex:none;margin-top:2px}
.upd-rule b{font-weight:600}

.upd-lic{margin:0;padding:8px 20px}
.upd-lic>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:var(--t-14)}
.upd-lic>div:last-child{border-bottom:0}
.upd-lic dt{color:var(--ink-2)}
.upd-lic dd{margin:0;font-weight:600;text-align:right}

@media (max-width:920px){
  .upd-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
  .upd-notes{grid-template-columns:minmax(0,1fr);gap:12px}
}
@media (max-width:640px){
  .upd-steps{padding:4px 16px 8px}
  .upd-steps>li{grid-template-columns:26px minmax(0,1fr);}
  .upd-state{grid-column:2;text-align:left;padding-top:0}
  .upd-file-list li{grid-template-columns:16px minmax(0,1fr) auto}
  .upd-hash{display:none}
  .upd-done .btn{margin-left:0}
  .upd-hist>li{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:4px 12px}
  .upd-hist .upd-ver{padding-top:3px}
  .upd-hist .end{grid-column:2;margin-left:0}
}
