/* Z Route Features. Theme variables keep dark + light modes. */
.zr-f3-card{margin:1rem 0;padding:1rem;border:1px solid var(--zr-border,#d5dde3);border-radius:var(--zr-radius,14px);background:var(--zr-surface,#fff)}
.zr-f3-card>h2,.zr-f3-ai>h2{margin:0 0 .6rem;font-size:var(--zr-fs-lg,1.15rem);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.zr-f3-tag{display:inline-block;padding:.1rem .45rem;border-radius:999px;background:var(--zr-primary-soft,rgba(255,150,0,.15));color:var(--zr-primary-ink,var(--zr-primary,#e08a00));font:700 .68rem/1.4 var(--zr-font-body,system-ui);letter-spacing:.04em;vertical-align:middle}
.zr-f3-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}
.zr-f3-row label{display:grid;gap:.25rem;font-weight:600;font-size:var(--zr-fs-sm,.875rem);min-width:min(100%,12rem)}
.zr-f3-grow{flex:1 1 16rem}
.zr-f3 input[type=text],.zr-f3 select,.zr-f3-card input[type=text],.zr-f3-card select{min-height:44px;padding:.5rem .65rem;border:1px solid var(--zr-border,#ccd);border-radius:var(--zr-radius-sm,8px);background:var(--zr-surface-2,transparent);color:var(--zr-text,inherit);font:inherit;width:100%;box-sizing:border-box}
.zr-f3-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 0}
.zr-f3 .zr-btn,.zr-f3-card .zr-btn,.zr-f3-tbtn,.zr-f3-askbtn{min-height:42px;cursor:pointer}
.zr-f3-small{font-size:var(--zr-fs-sm,.8125rem)}
.zr-f3-ai__out{margin-top:.75rem;padding:.8rem 1rem;border-left:3px solid var(--zr-primary,#e08a00);border-radius:var(--zr-radius-sm,8px);background:var(--zr-surface-2,rgba(0,0,0,.03))}
.zr-f3-answer p,.zr-f3-answer ul,.zr-f3-answer ol{margin:.35rem 0}
.zr-f3-cost{margin:.35rem 0 0;font-size:var(--zr-fs-sm,.8125rem);color:var(--zr-muted,#667);font-variant-numeric:tabular-nums}
.zr-f3-err{color:#d33}.zr-f3-wait{opacity:.75;animation:zrf3p 1.2s infinite}@keyframes zrf3p{50%{opacity:.35}}
.zr-f3-link{background:none;border:0;padding:0;color:var(--zr-primary,#e08a00);text-decoration:underline;cursor:pointer;font:inherit}
/* NEW badge */
.zr-f3-new{display:inline-flex;align-items:center;margin-left:.3rem;padding:0 .35rem;height:1.1rem;border-radius:999px;background:#2a9d5c;color:#fff;font:800 .6rem/1 var(--zr-font-body,system-ui);letter-spacing:.05em;vertical-align:middle}
.zr-tabbar a .zr-f3-new,.zr-bottom-nav a .zr-f3-new{position:absolute;top:0;margin-left:1.1rem}
.zr-f3-newtag{display:inline-block;margin:0 .4rem;padding:.05rem .4rem;border-radius:6px;background:#2a9d5c;color:#fff;font:800 .65rem/1.5 var(--zr-font-body,system-ui)}
/* Ask about this page */
.zr-f3-askwrap{margin:.5rem 0 0}
.zr-f3-askbtn span{color:var(--zr-primary,#e08a00)}
/* Guide summary */
.zr-f3-sum{margin:0 0 1.25rem;padding:.9rem 1rem;border:1px solid var(--zr-border,#d5dde3);border-left:4px solid var(--zr-primary,#e08a00);border-radius:var(--zr-radius,12px);background:var(--zr-surface-2,rgba(0,0,0,.03))}
.zr-f3-sum__k{margin:0 0 .35rem;font-weight:800;display:flex;gap:.5rem;align-items:center}
.zr-f3-sum ul{margin:.25rem 0;padding-left:1.2rem}.zr-f3-sum li{margin:.2rem 0}
.zr-f3-sum__n{margin:.4rem 0 0;font-size:.75rem;color:var(--zr-muted,#667)}
.zr-f3-trnote{font-size:var(--zr-fs-sm,.8125rem);color:var(--zr-muted,#667)}
.zr-f3-trlist{list-style:none;padding:0;display:grid;gap:.6rem}.zr-f3-trlist a{display:grid;gap:.15rem;padding:.8rem 1rem;border:1px solid var(--zr-border,#d5dde3);border-radius:var(--zr-radius-sm,10px);text-decoration:none;color:inherit}.zr-f3-trlist span{font-size:.85rem;color:var(--zr-muted,#667)}
/* Tools strip */
.zr-f3-strip{padding:0 1rem}.zr-f3-strip__in{max-width:var(--zr-max,1200px);margin:1.5rem auto;padding:1rem;border:1px solid var(--zr-border,#d5dde3);border-radius:var(--zr-radius,14px);background:var(--zr-surface,#fff)}
.zr-f3-strip h2{margin:0 0 .75rem;font-size:var(--zr-fs-lg,1.15rem)}
.zr-f3-strip ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}
.zr-f3-strip a{display:grid;gap:.2rem;padding:.8rem;border:1px solid var(--zr-border,#d5dde3);border-radius:var(--zr-radius-sm,10px);text-decoration:none;color:inherit;min-height:44px;background:var(--zr-surface-2,transparent)}
.zr-f3-strip a:hover{border-color:var(--zr-primary,#e08a00)}.zr-f3-strip span{font-size:.85rem;color:var(--zr-muted,#667)}
/* Targets */
.zr-f3-tbtn{margin:.4rem .4rem 0 0}.zr-rcard .zr-f3-tbtn{min-height:34px;padding:.25rem .6rem;font-size:.8rem}
.zr-f3-shop{margin-top:1rem;padding-top:.75rem;border-top:1px dashed var(--zr-border,#d5dde3)}.zr-f3-shop h3{margin:0 0 .5rem;font-size:1rem}
/* Compare */
.zr-f3-picks label{flex:1 1 14rem}
.zr-f3-cmptable table{width:100%;border-collapse:collapse;min-width:520px}
.zr-f3-cmptable th,.zr-f3-cmptable td{padding:.5rem .6rem;border-bottom:1px solid var(--zr-border,#d5dde3);text-align:left;vertical-align:top}
.zr-f3-cmptable thead th{position:sticky;top:0;background:var(--zr-surface,#fff)}
.zr-f3-cmptable td{font-variant-numeric:tabular-nums}.zr-f3-cmptable td.is-best{color:var(--zr-success,#2a9d5c);font-weight:800}
.zr-f3-hhead{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit}.zr-f3-hhead img{border-radius:10px}
.zr-f3-skill{margin:0 0 .6rem}.zr-f3-skill p{margin:.2rem 0 0;font-size:.82rem;color:var(--zr-muted,#667)}
.zr-f3-chip{display:inline-block;padding:0 .4rem;border:1px solid var(--zr-border,#ccd);border-radius:999px;font-size:.7rem;line-height:1.5}
/* Team */
.zr-f3-slots{display:grid;gap:.5rem;grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:640px){.zr-f3-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
.zr-f3-slot{display:grid;justify-items:center;gap:.2rem;padding:.6rem .4rem;min-height:110px;border:2px dashed var(--zr-border,#ccd);border-radius:var(--zr-radius-sm,10px);background:transparent;color:inherit;font:inherit;text-align:center}
.zr-f3-slot.is-on{border-style:solid;border-color:var(--zr-primary,#e08a00);cursor:pointer;background:var(--zr-surface-2,transparent)}
.zr-f3-slot img{border-radius:10px}.zr-f3-slot span{font-size:.72rem;color:var(--zr-muted,#667)}
.zr-f3-notes{margin:0;padding-left:1.1rem}.zr-f3-notes li{margin:.25rem 0}
.zr-f3-filter{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .6rem}
.zr-f3-pool{display:grid;gap:.45rem;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr))}
.zr-f3-hchip{display:flex;align-items:center;gap:.5rem;padding:.4rem;min-height:52px;border:1px solid var(--zr-border,#ccd);border-radius:var(--zr-radius-sm,10px);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.zr-f3-hchip.is-on{border-color:var(--zr-primary,#e08a00);background:var(--zr-primary-soft,rgba(255,150,0,.12))}
.zr-f3-hchip img{border-radius:8px;flex:none}.zr-f3-hchip span{display:grid;min-width:0}.zr-f3-hchip small{color:var(--zr-muted,#667);font-size:.7rem}
.zr-f3-owned{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0 0}
.zr-f3 .zr-chip{cursor:pointer;min-height:36px}
/* Tier */
.zr-f3-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}
.zr-f3-tier{display:grid;grid-template-columns:3.2rem 1fr;gap:.6rem;margin:0 0 .6rem;padding:.6rem;border:1px solid var(--zr-border,#d5dde3);border-radius:var(--zr-radius,12px);background:var(--zr-surface,#fff)}
.zr-f3-tier__k{margin:0;display:grid;place-items:center;border-radius:10px;font:900 1.5rem/1 var(--zr-font-display,inherit);color:#111}
.zr-f3-tier--S .zr-f3-tier__k{background:#ff7b6b}.zr-f3-tier--A .zr-f3-tier__k{background:#ffb35c}.zr-f3-tier--B .zr-f3-tier__k{background:#ffe066}.zr-f3-tier--C .zr-f3-tier__k{background:#9be37b}.zr-f3-tier--D .zr-f3-tier__k{background:#8cc8ff}
.zr-f3-tier ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr))}
.zr-f3-tier li{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.35rem .45rem;border:1px solid var(--zr-border,#d5dde3);border-radius:10px;background:var(--zr-surface-2,transparent)}
.zr-f3-tier li a{display:flex;align-items:center;gap:.45rem;min-width:0;text-decoration:none;color:inherit}.zr-f3-tier li img{border-radius:8px;flex:none}
.zr-f3-tier li span{display:grid;min-width:0}.zr-f3-tier small{font-size:.68rem;color:var(--zr-muted,#667)}
.zr-f3-vote{display:flex;flex-direction:column;gap:.2rem}
.zr-f3-vote button{min-width:44px;min-height:30px;padding:0 .35rem;border:1px solid var(--zr-border,#ccd);border-radius:7px;background:transparent;color:inherit;font:600 .72rem/1 var(--zr-font-body,system-ui);cursor:pointer;font-variant-numeric:tabular-nums}
.zr-f3-vote button[aria-pressed=true]{background:var(--zr-primary,#e08a00);border-color:var(--zr-primary,#e08a00);color:var(--zr-on-primary,#111)}
/* Daily */
.zr-f3-dhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem}.zr-f3-dhead h2{margin:0}
.zr-f3-progress{margin:0;display:grid;gap:.3rem;min-width:12rem}
.zr-f3-bar{display:block;height:8px;border-radius:99px;background:var(--zr-surface-2,rgba(0,0,0,.08));overflow:hidden}.zr-f3-bar i{display:block;height:100%;background:var(--zr-success,#2a9d5c);transition:width .3s}
.zr-f3-check{list-style:none;margin:.5rem 0;padding:0;display:grid;gap:.35rem}
.zr-f3-check li{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem;border:1px solid var(--zr-border,#d5dde3);border-radius:10px;min-height:44px}
.zr-f3-check label{display:flex;align-items:center;gap:.55rem;flex:1;cursor:pointer}.zr-f3-check input{flex:none;width:22px;height:22px;accent-color:var(--zr-success,#2a9d5c)}
.zr-f3-check li.is-done span{text-decoration:line-through;opacity:.6}
.zr-f3-x{border:0;background:transparent;color:var(--zr-muted,#889);font-size:1.25rem;cursor:pointer;min-width:36px;min-height:36px}
.zr-f3-addtask{margin:.75rem 0}.zr-f3-addtask label{flex:1 1 14rem}
/* Comments */
.zr-f3-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.zr-f3-cnote{margin:.5rem 0}
.zr-f3-askwrap--top{margin:.75rem 0}
.zr-f3-tr{min-width:0;overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr)!important}
.zr-f3-tr>*{min-width:0}
.zr-f3-tr .zr-doc__body table{display:block;max-width:100%;overflow-x:auto}
.zr-f3-tr .zr-doc__body img{max-width:100%;height:auto}
.zr-f3-askout{margin:.75rem 0 0}
.zr-f3-askout .zr-f3-answer h3,.zr-f3-askout .zr-f3-answer strong{color:inherit}
.zr-f3-hhead1{margin:0 0 1rem}
.zr-f3-hhead1 h1{margin:.15rem 0 .35rem;font-size:clamp(1.6rem,4.5vw,2.4rem);line-height:1.15;overflow-wrap:anywhere}
/* Numbered badges in guides (skill priority etc.): the list's generic "span" rule was overriding the badge. */
.zr-hguide-order li{display:flex;align-items:flex-start;gap:.7rem}
.zr-hguide-order li>.zr-hguide-num,.zr-hguide-order span.zr-hguide-num{display:flex!important;align-items:center;justify-content:center;flex:0 0 1.75rem;width:1.75rem;height:1.75rem;min-width:1.75rem;margin:.05rem 0 0;padding:0;border-radius:50%;background:var(--zr-primary,#ff5a1f);color:#fff!important;font-size:.85rem!important;font-weight:800;line-height:1;text-align:center;font-variant-numeric:tabular-nums;box-sizing:border-box}
.zr-hguide-order li>div{min-width:0;flex:1}
.zr-hguide-order li>div>strong{line-height:1.75rem}
