/* Original presentation is defined in index.html. Additions are scoped to retained tools. */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--acc);outline-offset:4px}
button:disabled{cursor:default;opacity:.5}
.menu-toggle{display:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-160%);padding:10px 15px;background:var(--ink);color:var(--bg);border-radius:8px}
.skip-link:focus{transform:translateY(0)}
.text-action{display:inline-flex;align-items:center;gap:8px;color:var(--acc-ink);font-size:.82rem;line-height:1.5;padding:6px 0}
.text-action:hover{color:var(--ink)}
.event-meta{font-family:var(--mono);font-size:.64rem;line-height:1.65;color:var(--faint);margin-top:10px;overflow-wrap:anywhere}
.study .subj-list li{display:block;padding:0}
.layer-button{display:grid;grid-template-columns:132px 1fr;gap:14px;padding:12px 15px;width:100%;text-align:left;font:inherit;line-height:inherit;color:inherit;background:transparent}
.layer-button:hover{color:var(--ink)}
.study svg .layer{cursor:pointer}
.study svg .layer:focus-visible{filter:drop-shadow(0 0 4px var(--acc))}
.receipt .rr .v{max-width:78%;text-align:right;overflow-wrap:anywhere}
.receipt .stamp{line-height:1.5;letter-spacing:.04em}
.attempt-followup{margin-top:8px}
.intervention-wrap{padding-bottom:24px}
.intervention-controls{border-top:1px solid var(--line2);border-bottom:1px solid var(--line)}
.intervention-controls summary,.record-tools-panel summary{cursor:pointer;color:var(--ink2);font-size:.8rem;padding:15px 0;list-style-position:inside}
.detail-hint{font-family:var(--mono);font-size:.64rem;color:var(--faint);margin-left:20px}
.intervention-body{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:12px 0 28px}
.intervention-body .lead{margin-top:0;font-size:16px}
.case-actions{display:flex;gap:8px;flex-wrap:wrap}
.case-actions button[aria-pressed="true"]{color:var(--acc-ink);border-color:var(--acc-mid)}
.field-label{display:block;font-family:var(--mono);font-size:.7rem;color:var(--mute);margin:16px 0 8px}
input,select{min-width:0;max-width:100%;min-height:38px;border:1px solid var(--line2);border-radius:8px;background:var(--panel);padding:8px 11px;color:var(--ink2);font:inherit;font-size:14px}
select{color-scheme:dark;cursor:pointer}select option{background:var(--panel)}
#caseSelect{display:block;width:100%}.case-preview{font-size:.8rem;line-height:1.6;color:var(--mute);margin-top:12px}
.record-links{display:flex;justify-content:flex-end;margin-top:10px}
.record-tools-panel{padding-inline:18px;border-bottom:1px solid var(--line)}
.record-tools-panel summary{font-family:var(--mono);font-size:.66rem;letter-spacing:.04em}
.record-tools{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:0 0 15px}
.record-tools label{display:grid;gap:6px;font-size:.74rem;color:var(--mute)}
.record-tools label:first-child{flex:1;min-width:180px}.record-tools input{width:100%}
.record-local{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:.65rem;color:var(--faint);padding-bottom:15px}
.record-local b{color:var(--ink2);font-weight:500}.new-records{margin:10px 18px}
.feed-scroll{overflow-x:hidden;overscroll-behavior:contain}
.feed-scroll button.row{width:100%;text-align:left;background:transparent;color:var(--ink2)}
.feed-scroll button.row:hover{background:var(--acc-soft)}
.row .tx{min-width:0;overflow-wrap:anywhere}.row .tm{line-height:1.5}.row .tx strong{font-weight:500}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line)}
.pagination .btn-sm{background:transparent;border-color:var(--line);font-size:.68rem}
.pagination>span{font-family:var(--mono);font-size:.65rem;color:var(--faint)}
.empty-state{padding:22px;color:var(--mute);font-size:.85rem}
.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.memory-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.memory-card h3{font-size:23px;line-height:1.1;letter-spacing:-.025em}
.memory-card p{font-size:.88rem;line-height:1.6;color:var(--ink2)}
.memory-card .memory-route{color:var(--faint);font-family:var(--mono);font-size:.68rem}
.memory-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.memory-actions .btn-sm{font-size:.68rem;padding:7px 10px;background:transparent;border-color:var(--line2)}
#memory .pagination{padding-inline:0;margin-top:20px}
#memory .cta button[aria-pressed="true"]{color:var(--acc-ink);border-color:var(--acc-mid)}
.footer-reference{font-size:.72rem;color:var(--faint)}
.detail-body .route-line{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:16px 0;color:var(--acc-ink);font-family:var(--mono);font-size:12px;line-height:1.6}
.detail-body .route-line>span{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}
.detail-body .sim-label{font-family:var(--mono);font-size:.65rem;line-height:1.5;letter-spacing:.07em;color:var(--acc-ink);text-transform:uppercase}
#detailDialog{position:fixed;inset:0;margin:auto;width:min(780px,calc(100vw - 32px));max-width:780px;max-height:90svh;padding:0;border:1px solid var(--line2);border-radius:22px;background:var(--bg2);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 30px 100px #000b}
#detailDialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.detail-panel{min-width:0}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;background:var(--bg2);border-bottom:1px solid var(--line2)}
.dialog-head h2{font-size:clamp(23px,3.2vw,32px);line-height:1.15;max-width:22ch;overflow-wrap:anywhere}.close-detail{border:1px solid var(--line2);border-radius:50%;width:42px;height:42px;flex:none;font-size:23px;line-height:1}.close-detail:hover{background:var(--raise2)}
.detail-body{padding:24px;font-size:16px;line-height:1.7}.detail-body h3{margin-block:22px 10px}.detail-body p{margin-block:10px;color:var(--ink2)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-block:20px}.detail-grid>div{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.detail-grid dt,.detail-grid .k{font-size:12px;color:var(--faint)}.detail-grid dd{margin-top:7px;color:var(--ink2);overflow-wrap:anywhere}
.detail-steps{list-style:none;display:grid;gap:12px;counter-reset:step;margin-block:20px}.detail-steps li{position:relative;padding:14px 14px 14px 48px;background:var(--panel);border:1px solid var(--line);border-radius:12px;font-size:15px;line-height:1.65;counter-increment:step}.detail-steps li::before{content:counter(step,decimal-leading-zero);position:absolute;left:14px;top:15px;font-family:var(--mono);font-size:12px;color:var(--acc-ink)}.detail-steps b{color:var(--ink);display:block}.detail-steps li[data-active="true"]{border-color:var(--acc)}
.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.share-card{border:1px solid var(--acc-mid);border-radius:16px;background:radial-gradient(ellipse at top right,#d8794e17,transparent 70%),var(--panel);padding:24px;margin-block:20px;overflow-wrap:anywhere}.share-card h3{color:var(--acc-ink);font-size:25px;margin-top:12px}.share-card .sim-label{margin:0}.share-url{display:grid;gap:8px;margin-top:15px;font-size:13px;color:var(--ink2)}.share-url input{width:100%;font-family:var(--mono);font-size:12px}

@media(max-width:900px){
  .nav-in{position:relative;max-width:calc(100vw - 24px)}
  .menu-toggle{display:block;padding:7px 12px;margin-left:8px}
  .tabs{display:none;position:absolute;left:0;top:calc(100% + 10px);margin:0;padding:8px;width:min(320px,calc(100vw - 32px));border-radius:15px;background:var(--panel);border:1px solid var(--line2);box-shadow:0 18px 40px #0009}
  .tabs[data-open="true"]{display:grid;grid-template-columns:1fr 1fr}
  .tabs a{padding:12px;font-size:.85rem}
  .hero{min-height:100svh}
  .hero-copy{order:1;padding-top:110px}
  .hero h1{max-width:16ch}
  .hero .lede{max-width:40ch}
  #cell-canvas{position:relative;inset:auto;order:2;display:block;flex:none;width:100%;height:clamp(330px,82vw,520px);margin-top:12px}
  #cell-fallback{top:370px;bottom:auto;height:360px}
  .hero-foot{order:3;margin-top:0;padding-top:10px;padding-bottom:28px}
  .hero-foot .wrap{gap:18px!important;flex-wrap:wrap}
  .hint{font-size:.67rem;white-space:normal;max-width:100%}
  .readout{margin-left:auto}.readout .lab{font-size:.6rem}
  .layer-button{grid-template-columns:120px 1fr;font-size:.86rem}
  .intervention-body{grid-template-columns:1fr;gap:20px}
  .detail-hint{display:none}
  .memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dialog-head{padding:18px}.detail-body{padding:18px}.detail-grid{grid-template-columns:1fr}
  .record-links{justify-content:flex-start}.record-tools label:first-child{flex-basis:100%}
  .row .tx{grid-column:1}.row .st{grid-column:2}
}
@media(max-width:520px){
  .hero h1{font-size:32px;line-height:.98;max-width:17ch}
  .hero .lede{font-size:16px;line-height:1.5}
  .hero-copy{padding-top:108px}
  #cell-canvas{height:360px}
  .hero-foot .wrap{display:flex;flex-direction:column;align-items:flex-start!important}
  .readout{margin-left:0;text-align:left}.readout .big{justify-content:flex-start}
  .layer-button{grid-template-columns:112px 1fr;gap:10px;padding:12px}
  .memory-grid{grid-template-columns:1fr}
  .pagination{flex-wrap:wrap}.feed-h .chips{margin-left:0}
  .detail-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-copy,.hero-foot{opacity:1!important;transform:none!important}}
/* Keep the mobile cell broad and unboxed without putting it behind the copy. */
@media(max-width:900px){#cell-canvas{height:clamp(430px,108vw,560px)}}
@media(max-width:520px){#cell-canvas{height:500px}}

@media(max-width:900px){#cell-fallback{position:relative;inset:auto;order:2;flex:none;margin-top:12px;height:clamp(430px,108vw,560px)}}
@media(max-width:520px){#cell-fallback{height:500px}}
@media(max-width:900px){.tabs{left:50%;transform:translateX(-50%)}}
/* Personal research uses the original hint, expanded controls and receipt. */
.hero-foot .wrap{position:relative}.hero-context{flex-basis:100%;max-width:690px;margin-top:2px;font-family:var(--mono);font-size:.64rem;color:var(--mute);pointer-events:auto;line-height:1.6}.hero-context .text-action{font-family:var(--sans);font-size:.7rem;padding:4px 0}.hero-context .context-actions{gap:16px}.trace-links{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.hero-foot .readout{position:absolute;right:var(--gut);top:0}.context-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.result-context{font-size:.77rem;line-height:1.6;color:var(--acc-ink);margin-top:10px}.journey-context{display:block;font-family:var(--mono);font-size:.7rem;color:var(--mute);margin:18px 0 6px}.intervention-body>.lead>.text-action{display:block;font-size:.8rem}#variantSelect{width:100%}.evidence-field{display:flex;align-items:center;gap:10px}.evidence-field select{flex:1;width:100%;font-size:.78rem}.evidence-field button{flex:none;font-size:.73rem}.study .layer.is-hovered{filter:drop-shadow(0 0 5px #d8794e66)}.subj-list li.is-hovered{background:var(--acc-soft)}.memory-grid{overflow-anchor:none}#newMemories{font-size:.75rem}#retryStorage{font-size:.72rem}.detail-body select{max-width:100%}#cell-canvas{touch-action:pan-y}.detail-body button,.memory-actions button{min-height:40px}#detailDialog{touch-action:pan-y}.hero .hint{max-width:min(690px,67vw);white-space:normal}.hero-foot{pointer-events:none}.hero-foot .hint,.hero-foot .readout{pointer-events:none}.hero-context button{pointer-events:auto}
@media(max-width:900px){.hero-context{max-width:100%;flex-basis:auto;width:100%;margin:0}.hero-foot .readout{position:static;margin:0}.hero-foot .wrap{gap:12px!important}.hero .hint{max-width:100%}.hero-context .context-actions{gap:12px}.evidence-field{flex-wrap:wrap}.evidence-field select{flex-basis:100%}.hero-foot .wrap>.hero-context{order:2}.hero-foot .wrap>.readout{order:3}}
/* Reserve the quiet update affordance so automatic arrivals cannot move a reader. */
#newMemories{min-height:35px}#newMemories[hidden]{display:inline-flex!important;visibility:hidden;pointer-events:none}
#newRecords[hidden]{display:inline-flex!important;visibility:hidden;pointer-events:none}
.save-error{flex-basis:100%;font-family:var(--sans);font-size:.74rem;color:var(--acc-ink);line-height:1.6}
/* New investigation tools stay within the existing page and detail surfaces. */
.hero-entry{margin-top:20px;max-width:470px;pointer-events:auto}.hero-entry>p{font-size:.78rem;line-height:1.5;color:var(--mute);margin:9px 0 2px}.hero-entry .btn{font-size:.8rem}.hero-entry .text-action{font-size:.74rem}.personal-atlas{display:block;width:100%;height:auto;margin:18px 0}.atlas-wire{fill:none;stroke:var(--acc-mid);stroke-width:2}.atlas-boundary{cursor:pointer}.atlas-boundary circle{fill:var(--bg2);stroke:var(--line3);stroke-width:1.5}.atlas-boundary text{fill:var(--mute);font-family:var(--mono);font-size:11px;letter-spacing:0}.atlas-boundary:not(.confirmed) circle{stroke-dasharray:3 4}.atlas-boundary.selected circle{stroke:var(--acc);fill:var(--acc-soft)}.atlas-boundary.selected text{fill:var(--acc-ink)}.atlas-boundary:focus-visible{outline:none;filter:drop-shadow(0 0 4px var(--acc))}.atlas-rule{padding:16px 0;border-bottom:1px solid var(--line)}.atlas-rule .detail-actions{margin:10px 0}.atlas-comparison{padding:14px 0;border-bottom:1px solid var(--line)}.atlas-comparison summary{cursor:pointer;color:var(--ink2)}.atlas-comparison>div{padding:12px 0}.atlas-comparison h4{font-weight:500;color:var(--acc-ink)}.character-note{flex-basis:100%;margin:14px 0;padding:12px 16px;border-left:2px solid var(--acc);background:var(--acc-soft);font-size:.85rem;line-height:1.65}.character-note>p{white-space:normal}.first-note{animation:note-in .6s ease-out}.token-official{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:15px;font-size:.8rem}.token-address{font-family:var(--mono);overflow-wrap:anywhere;user-select:all}.reveal-atlas .atlas-boundary{animation:atlas-appear .5s both;animation-delay:calc(var(--order)*.17s)}@keyframes note-in{from{opacity:.1;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes atlas-appear{from{opacity:.2}to{opacity:1}}#backupFeedback,#importFeedback{overflow-wrap:anywhere}#memory .cta .text-action{font-size:.76rem}#resultNext>.character-note{margin-bottom:2px}#atlasSummary{font-family:var(--mono);font-size:.76rem;line-height:1.8}
@media(max-width:900px){.hero-entry{max-width:100%;margin-top:16px}.hero-entry>p{max-width:42ch}.personal-atlas{min-width:0}.atlas-boundary text{font-size:12px}.detail-body .detail-actions .btn-sm{max-width:100%;overflow-wrap:anywhere;text-align:left}#memory .cta{flex-wrap:wrap;gap:12px}}
@media(prefers-reduced-motion:reduce){.first-note,.reveal-atlas .atlas-boundary{animation:none}}
.personal-atlas .atlas-hit{fill:transparent!important;stroke:none!important}.atlas-boundary text{font-size:13px}@media(max-width:900px){.atlas-boundary text{font-size:24px}}

/* TRAZVO typography: preserve the original scene allocation and use pixels only for display text. */
.tabs a{font-family:var(--disp);font-weight:400;font-synthesis:none;letter-spacing:0}
.btn,.btn-sm,.text-action,input,select,summary{font-family:var(--sans)}
.btn,.btn-sm{max-width:100%;white-space:normal;line-height:1.4;text-align:center}
.hero .lede{line-height:1.6;max-width:472px}
.hero-entry>p{line-height:1.55}
.hero h1{overflow-wrap:normal}
.phase-name{line-height:1.12}
.dialog-head h2{max-width:none;min-width:0;overflow-wrap:anywhere}
.memory-card h3,.share-card h3,.detail-body h3{font-family:var(--sans);font-weight:600;letter-spacing:0;line-height:1.25}
.foot-mark{font-size:min(19vw,280px)}
@media(max-width:900px){
  .hero-copy{min-height:443.28125px}
  .hero h1{max-width:650px;line-height:1.08}
  .hero .lede{max-width:560px}
}
@media(max-width:520px){
  .hero-copy{min-height:416.34375px}
  .hero h1{max-width:100%;font-size:32px;line-height:1.1}
  .hero .lede{max-width:100%;font-size:16px;line-height:1.6}
  .hero-entry{margin-top:16px}
}
@media(max-width:375px){.hero-copy{min-height:440.34375px}}
