/* Zi. v0.32.3 — Navigation Clarity + Mortgage Refinement + Input UX. Builds on APPROVED v0.32.2. */

/* Desktop task navigation: retain the disclosure affordance, but make it quieter and optically aligned. */
.zi-task-nav summary{display:flex;align-items:center;gap:9px}
.zi-task-nav summary::after{content:"";width:6px;height:6px;margin:0 1px 3px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;opacity:.46;transform:rotate(45deg);transform-origin:50% 50%;transition:transform .16s ease,opacity .16s ease}
.zi-task-nav details[open]>summary::after{opacity:.72;transform:translateY(3px) rotate(225deg)}
.zi-task-nav summary:hover::after,.zi-task-nav summary:focus-visible::after{opacity:.74}

/* Mobile navigation must be its own scroll container on iOS/Android. */
@media(max-width:1120px){
  .mobile-panel{overflow-y:auto!important;overflow-x:hidden!important;max-height:calc(100dvh - var(--zi-header-height))!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:max(34px,env(safe-area-inset-bottom))!important}
  .mobile-nav.zi-mobile-task-nav{padding-bottom:24px}
  .nav-open{overflow:hidden}
}

/* Four-digit and future five-digit live counters must never be clipped by the stats grid. */
.zi-home-stats-grid{overflow:visible!important}
.zi-home-stat{min-width:0;overflow:hidden}
.zi-home-stat-value{max-width:100%;font-size:clamp(2.15rem,4.25vw,4.55rem)!important;line-height:.94;letter-spacing:-.055em;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;overflow:visible;text-overflow:clip}
.zi-home-stat [data-pageviews-total],.zi-home-stat [data-tool-usage-total]{font-size:clamp(2rem,4vw,4.25rem)!important}
@media(max-width:760px){.zi-home-stat-value,.zi-home-stat [data-pageviews-total],.zi-home-stat [data-tool-usage-total]{font-size:clamp(2.25rem,12vw,4.1rem)!important;letter-spacing:-.06em}}
@media(max-width:390px){.zi-home-stat-value,.zi-home-stat [data-pageviews-total],.zi-home-stat [data-tool-usage-total]{font-size:clamp(2rem,11vw,3.35rem)!important}}

/* Academy completion panel: use the available breathing room instead of pinning copy/CTA to edges. */
.lesson-complete-panel{padding:clamp(30px,3.4vw,46px)!important;gap:clamp(28px,4vw,60px)!important}
.lesson-complete-panel>div{max-width:860px}
.lesson-complete-panel .button{margin-inline:clamp(0px,1.6vw,24px)}
@media(max-width:820px){.lesson-complete-panel{padding:26px 22px!important;gap:22px!important}.lesson-complete-panel .button{margin-inline:0}}

/* Market Watch mobile: vertical gestures belong to the page; map is opt-in from the overview. */
.zi-mw-map-wrap,.zi-mw-map{touch-action:pan-y;overscroll-behavior:contain}
.zi-mw-mobile-hint{display:none;color:var(--zi-mw-muted,#9ba7a4);font-size:.82rem;line-height:1.45;padding:0 18px 14px}
@media(max-width:760px){
  .zi-mw-toolbar{position:relative!important;top:auto!important}
  .zi-mw-toolbar-top,.zi-mw-toolbar-bottom{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .zi-mw-toolbar-top>*{flex:0 0 auto}
  .zi-mw-search{min-width:min(78vw,390px)}
  .zi-mw-map-wrap{min-height:0!important;padding:8px 8px 14px!important}
  .zi-mw-map{min-height:0!important}
  .zi-mw-mobile-hint{display:block}
}

/* Zi. visual centering: no new character asset, only remove legacy image offset. */
.zi-companion-avatar img,.zi-companion-launcher img{object-position:50% 50%!important;transform:none!important}
.zi-companion-character-stage{justify-self:center!important;margin-inline:auto!important}

/* Mortgage rate-change calculator. */
.zi-rate-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:clamp(34px,6vw,78px) 0 74px}
.zi-rate-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:20px;align-items:stretch;margin-bottom:28px}
.zi-rate-hero>div,.zi-rate-hero>aside,.zi-rate-shell,.zi-rate-section{border:1px solid var(--zi-line);border-radius:26px;background:linear-gradient(145deg,rgba(86,241,200,.045),rgba(255,255,255,.018));padding:clamp(22px,3.3vw,38px)}
.zi-rate-hero h1{font-size:clamp(2.5rem,6vw,5.8rem);line-height:.96;margin:.2em 0}
.zi-rate-hero aside{display:flex;flex-direction:column;justify-content:center;gap:8px}.zi-rate-hero aside span{color:var(--zi-mint);font-weight:800}.zi-rate-hero aside strong{font-size:clamp(1.25rem,2vw,1.75rem)}.zi-rate-hero aside small{color:var(--zi-muted)}
.zi-rate-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,54px);margin-bottom:24px}
.zi-rate-form h2,.zi-rate-results h2,.zi-rate-section h2{margin:.25em 0 18px}.zi-rate-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.zi-rate-field-grid label{display:grid;gap:7px;color:var(--zi-muted);font-size:.86rem}.zi-rate-field-grid input{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--zi-line);border-radius:13px;background:#05090b;color:var(--zi-text);font:inherit}.zi-rate-field-grid input:focus{outline:2px solid rgba(86,241,200,.35);outline-offset:1px}.zi-rate-field-wide{grid-column:1/-1}.zi-rate-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.zi-rate-error{color:#ffc3c8;margin:13px 0 0}
.zi-rate-primary{padding:22px;border:1px solid rgba(86,241,200,.28);border-radius:20px;background:rgba(86,241,200,.07);margin-bottom:13px}.zi-rate-primary span,.zi-rate-metric span{display:block;color:var(--zi-muted);font-size:.82rem}.zi-rate-primary strong{display:block;font-size:clamp(2.35rem,5vw,4.4rem);line-height:1;margin:8px 0;font-variant-numeric:tabular-nums}.zi-rate-primary small{color:var(--zi-muted)}
.zi-rate-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.zi-rate-metric{padding:15px;border:1px solid var(--zi-line);border-radius:15px;background:rgba(0,0,0,.14)}.zi-rate-metric strong{display:block;margin-top:5px;font-size:1.1rem;font-variant-numeric:tabular-nums}.zi-rate-delta.is-up{color:#ffc3c8}.zi-rate-delta.is-down{color:var(--zi-mint)}
.zi-rate-section{margin-top:24px}.zi-rate-table-wrap{overflow-x:auto;border:1px solid var(--zi-line);border-radius:16px}.zi-rate-table{width:100%;border-collapse:collapse;min-width:560px}.zi-rate-table th,.zi-rate-table td{padding:12px 14px;text-align:right;border-bottom:1px solid var(--zi-line);font-variant-numeric:tabular-nums}.zi-rate-table th:first-child,.zi-rate-table td:first-child{text-align:left}.zi-rate-table tr:last-child td{border-bottom:0}.zi-rate-table tr.is-current{background:rgba(86,241,200,.07)}
.zi-rate-assumptions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.zi-rate-assumptions article{padding:16px;border:1px solid var(--zi-line);border-radius:16px;background:rgba(0,0,0,.12)}.zi-rate-assumptions p{color:var(--zi-muted);margin:.45em 0 0}.zi-rate-page .zi-next{margin-top:34px}
@media(max-width:900px){.zi-rate-hero,.zi-rate-shell{grid-template-columns:1fr}.zi-rate-assumptions{grid-template-columns:1fr}}
@media(max-width:620px){.zi-rate-page{width:min(100% - 20px,1180px)}.zi-rate-field-grid,.zi-rate-metrics{grid-template-columns:1fr}.zi-rate-field-wide{grid-column:auto}.zi-rate-actions>.button{width:100%}.zi-rate-primary strong{font-size:clamp(2.2rem,12vw,3.6rem)}}

@media(prefers-reduced-motion:reduce){.zi-task-nav summary::after{transition:none!important}}


/* v0.32.3 — Počítat dropdown is explicitly a hub + quick-access list, never an implied full catalogue. */
.zi-mega-section-label{grid-column:1/-1;margin:7px 4px -1px;padding-top:10px;border-top:1px solid var(--zi-line);color:var(--zi-muted);font-size:.68rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.zi-nav-new{display:inline-flex;align-items:center;margin-left:7px;padding:2px 6px;border:1px solid rgba(86,241,200,.3);border-radius:999px;color:var(--zi-mint);font-size:.58rem;font-weight:900;letter-spacing:.08em;vertical-align:middle}
.zi-task-nav details.is-current-task>summary{color:var(--zi-text)}
.zi-task-nav details.is-current-task>summary::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--zi-mint);box-shadow:0 0 0 4px rgba(86,241,200,.08);flex:0 0 auto}
.zi-mobile-group.is-current-task>strong{color:var(--zi-mint)}
.zi-mobile-quick-label{display:block;margin:12px 0 5px;color:var(--zi-muted);font-size:.66rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}

/* v0.32.3 — Market Watch toolbar returns to normal document flow on every viewport. */
.zi-mw-toolbar{position:relative!important;top:auto!important;z-index:8!important;margin:17px 0!important;padding:14px!important;backdrop-filter:none!important;box-shadow:0 12px 34px rgba(0,0,0,.12)!important}
.zi-mw-toolbar-top,.zi-mw-toolbar-bottom{gap:8px!important}
.zi-mw-toolbar-bottom{margin-top:10px!important;padding-top:10px!important}

/* v0.32.3 — locale-friendly money entry: visible grouping while the calculator keeps numeric semantics. */
input[data-zi-money-input],input[data-portfolio-model-amount],input[data-portfolio-new-money],input[data-position-field="value"]{font-variant-numeric:tabular-nums lining-nums;letter-spacing:.01em}
.zi-money-input-ready{font-variant-numeric:tabular-nums lining-nums!important}

/* Mortgage V1.1 modes and clearer input units. */
.zi-rate-mode{margin:0 0 18px;padding:13px;border:1px solid var(--zi-line);border-radius:17px;background:rgba(0,0,0,.12)}
.zi-rate-mode>span{display:block;margin-bottom:9px;color:var(--zi-muted);font-size:.75rem;font-weight:800}
.zi-rate-mode-options{display:flex;gap:7px;flex-wrap:wrap}
.zi-rate-mode-options button,.zi-rate-presets button{min-height:38px;padding:8px 11px;border:1px solid var(--zi-line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--zi-muted);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.zi-rate-mode-options button:hover,.zi-rate-mode-options button:focus-visible,.zi-rate-presets button:hover,.zi-rate-presets button:focus-visible{border-color:rgba(86,241,200,.48);color:var(--zi-text);outline:none}
.zi-rate-mode-options button.is-active,.zi-rate-presets button.is-active{border-color:rgba(86,241,200,.5);background:rgba(86,241,200,.12);color:var(--zi-mint)}
.zi-rate-input-wrap{display:flex;align-items:center;min-height:48px;border:1px solid var(--zi-line);border-radius:13px;background:#05090b;overflow:hidden}
.zi-rate-input-wrap:focus-within{outline:2px solid rgba(86,241,200,.35);outline-offset:1px}
.zi-rate-field-grid .zi-rate-input-wrap input{min-width:0;border:0!important;border-radius:0;background:transparent;outline:0!important;box-shadow:none!important}
.zi-rate-input-wrap>span{padding:0 12px;color:var(--zi-muted);font-size:.78rem;font-weight:800;white-space:nowrap}
.zi-rate-field[hidden]{display:none!important}
.zi-rate-context-note{margin:10px 0 0;color:var(--zi-muted);font-size:.78rem;line-height:1.45}
.zi-rate-summary{margin:0 0 13px;padding:13px 15px;border-left:3px solid var(--zi-mint);border-radius:0 12px 12px 0;background:rgba(86,241,200,.055);color:var(--zi-text);line-height:1.55}
.zi-rate-presets{margin:18px 0 0}.zi-rate-presets>span{display:block;margin-bottom:8px;color:var(--zi-muted);font-size:.75rem;font-weight:800}.zi-rate-presets>div{display:flex;gap:7px;flex-wrap:wrap}
.zi-rate-context-card[hidden]{display:none!important}
.zi-task-return{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--zi-muted);font-size:.78rem;font-weight:800;text-decoration:none}.zi-task-return:hover{color:var(--zi-mint)}
@media(max-width:620px){.zi-rate-mode-options button{flex:1 1 100%}.zi-rate-presets button{flex:1 1 calc(33.333% - 7px)}.zi-task-nav details.is-current-task>summary::before{display:none}}
