:root{color-scheme:dark;--bg:#071018;--panel:#0d1a24;--line:#203444;--text:#e9f1f6;--muted:#8fa6b5;--accent:#62b4d6;--amber:#d9ad61}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#102735 0,transparent 34%),var(--bg);color:var(--text);font:15px/1.5 system-ui,sans-serif}header,main,nav,footer{max-width:1200px;margin:auto}header{padding:48px 24px 24px;display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.eyebrow{color:var(--accent);font-size:12px;letter-spacing:.18em;font-weight:700}h1{font-size:clamp(32px,5vw,58px);margin:4px 0;letter-spacing:-.04em}h2{font-size:18px;margin:0 0 16px}.subtitle,#observed-at,.section-title span,footer{color:var(--muted)}.quality,.panel,.currency-card,.table-wrap,.history-list{background:rgba(13,26,36,.9);border:1px solid var(--line);border-radius:14px}.quality{padding:12px 16px;color:var(--amber)}nav{padding:0 24px 24px;display:flex;gap:8px}button{border:1px solid var(--line);background:#0b1720;color:var(--muted);padding:9px 18px;border-radius:999px;cursor:pointer}button.active{color:var(--text);border-color:var(--accent);background:#123044}main{padding:0 24px 32px;display:grid;gap:28px}.source-banner{padding:12px 16px;border:1px solid var(--amber);border-radius:10px;background:#2a2415;color:#ffd88f;font-weight:750;letter-spacing:.08em;text-align:center}.section-title{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.currency-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.currency-card{padding:18px}.currency-code{font-size:13px;color:var(--muted)}.currency-value{font-size:25px;font-variant-numeric:tabular-nums;margin-top:8px}.regime-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.regime{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:#bdd0db;font-size:11px;letter-spacing:.04em}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{padding:20px;min-height:150px}.metric{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:8px 0}.metric strong{text-align:right}.history-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px}.history-controls label{color:var(--muted);font-size:12px}.history-controls select{background:#0b1720;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px 12px}.history-list{overflow:hidden}.history-item{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-item p{margin:4px 0 0;color:#bdd0db}.history-meta{text-align:right;color:var(--muted);font-size:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}footer{padding:20px 24px 40px;display:grid;gap:8px}footer a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}@media(max-width:760px){header{align-items:flex-start;flex-direction:column}.currency-grid{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.section-title{align-items:flex-start;flex-direction:column}.history-item{flex-direction:column}.history-meta{text-align:left}}
/* Native ordinal chart. Colours identify currencies only. */
[hidden]{display:none!important}
.overview{display:grid;gap:28px;min-width:0}
main>*{min-width:0}
button{font-size:13px}
button:focus-visible,.rank-series:focus-visible{outline:2px solid #f3da9d;outline-offset:4px}
.evolution-notice{border-left:3px solid var(--accent);padding:10px 14px;background:var(--panel)}
.evolution-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:start}
.evolution-plot{min-width:0}
#rank-chart svg{display:block;width:100%;height:auto}
.rank-grid{stroke:var(--line);stroke-width:1}
.rank-tick{fill:#b4c6d2;font-size:12px}
.rank-series{color:var(--currency);cursor:pointer}
.rank-series.muted{opacity:.5}
.rank-line{fill:none;stroke:currentColor;stroke-width:1.8}
.rank-hit{fill:none;stroke:transparent;stroke-width:14}
.rank-series.selected .rank-line,.rank-series:focus-visible .rank-line{stroke-width:3}
.rank-series circle{fill:currentColor;stroke:var(--bg);stroke-width:1}
.rank-label{fill:currentColor;font-size:12px;font-weight:700}
.currency-AUD{--currency:#78b6ff}.currency-CAD{--currency:#62cede}.currency-CHF{--currency:#b69aff}.currency-EUR{--currency:#e1b0ed}.currency-GBP{--currency:#efc271}.currency-JPY{--currency:#9da8ed}.currency-NZD{--currency:#e1d5ab}.currency-USD{--currency:#91c0d1}
.currency-choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.currency-choices button{color:var(--currency);border-color:var(--currency);padding:8px 12px}
.currency-choices .selected{background:#233b50;text-decoration:underline;text-underline-offset:4px}
#evolution-detail h3{margin:0;font-size:22px}
#evolution-detail dt{color:var(--muted);font-size:12px;margin-top:12px}
#evolution-detail dd{margin:2px 0;overflow-wrap:anywhere}
#evolution-status,.evolution-legend{color:#b4c6d2;font-size:13px;overflow-wrap:anywhere}
@media(max-width:760px){.evolution-layout{grid-template-columns:minmax(0,1fr)}header,main,nav,footer{padding-left:16px;padding-right:16px}.source-banner{font-size:12px}.currency-value{font-size:20px}.history-controls{flex-wrap:wrap}}
/* UI-OBS-01: coordinated views and text alternatives. No motion transitions. */
nav{flex-wrap:wrap}
header>div,section,article{min-width:0}
.clock{position:sticky;top:0;z-index:3;background:#0d1a24;min-height:0;padding:14px 18px;box-shadow:0 8px 22px #071018cc}
.clock-heading,.clock-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.clock-heading{justify-content:space-between}
.clock time{font-variant-numeric:tabular-nums;color:#e2c58b;font-weight:650}
.clock label,.clock p{font-size:12px}.clock p{margin:6px 0 0}
.clock input[type=range]{width:100%;accent-color:#9cc9e6;margin:8px 0}
.clock button{padding:7px 12px}
button:disabled,select:disabled{opacity:.55;cursor:default}
input,select{font:inherit;font-size:13px;color:var(--text);background:#0b1720;border:1px solid #506b7c;padding:8px;border-radius:7px;max-width:100%}
input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #f3da9d;outline-offset:3px}
.source-banner{position:relative;z-index:4}
.clock #obs-announcement:empty{display:none}
#observatory-clock~section>p{color:#b4c6d2}
.observation-row{border-left:2px solid #4f718b;border-bottom:1px solid var(--line);padding:10px 14px;margin:8px 0;background:#0d1a24}
.observation-row p{margin:4px 0}.observation-row small{font-size:12px;color:#b4c6d2}
.currency-card{border-radius:14px;text-align:left;color:var(--text)}
.currency-card strong{color:var(--currency,var(--text));font-size:17px}.currency-card p{margin:6px 0}.currency-card small{display:block;font-size:12px}
.currency-card[aria-pressed=true],.pair-card[aria-pressed=true]{border:2px solid #bdcfe0;background:#183145}
.replay-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}
#replay-summary{margin-bottom:16px}
#replay svg,#landscape-chart svg,#network-chart svg{display:block;width:100%;height:auto}
.chart-text{fill:#e2edf4;font-size:12px}
.landscape-plane{fill:#122a39;stroke:#527087;stroke-width:1}
.landscape-node,.network-node{color:var(--currency);cursor:pointer}
.landscape-column{fill:currentColor;fill-opacity:.35;stroke:currentColor;stroke-width:1.5}
.landscape-cap{fill:currentColor}.landscape-node.selected .landscape-column{fill-opacity:.8;stroke-width:3}
.landscape-trace{fill:none;stroke:#e7e5d3;stroke-dasharray:3 3;stroke-width:1.5}.landscape-trace-point{fill:#e7e5d3}
.network-node circle{fill:#0d1a24;stroke:currentColor;stroke-width:2}
.network-node.selected circle{fill:#244558;stroke-width:4}
.structure-LATERALE{stroke-dasharray:6 3}.structure-INDETERMINATO{stroke-dasharray:2 3}
.network-edge{stroke:#607688;stroke-width:1;opacity:.35}.network-edge.chosen{opacity:1;stroke:#d3c0e5;stroke-width:2}
.edge-ELEVATED{stroke-dasharray:7 4}.edge-HIGH{stroke-dasharray:2 4;stroke-width:3}.edge-UNAVAILABLE{stroke-dasharray:8 3 2 3}
.pair-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.pair-card{font-size:12px;text-align:left;border-radius:9px;white-space:normal}
.concordance-row{margin-bottom:24px}.concordance-row h3{font-size:16px}.concordance-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.concordance-cells .panel{min-height:0;padding:14px}.concordance-cells p{margin:6px 0;font-size:13px}.concordance-cells time{font-size:12px;color:#d5c396}
.passport-grid{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:12px;margin:0}.passport-grid dt{color:#b4c6d2}.passport-grid dd{margin:0;overflow-wrap:anywhere}
.archive-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.archive-filters label{display:grid;gap:6px;font-size:13px}
.fingerprint-result{font-size:clamp(20px,4vw,32px);color:#d5c396!important;padding:20px;border:1px solid var(--line);border-radius:12px}
details{margin:16px 0}summary{cursor:pointer;padding:10px 0;font-weight:650}section{scroll-margin-top:210px}
@media(max-width:760px){.replay-charts{grid-template-columns:minmax(0,1fr)}.concordance-cells{grid-template-columns:minmax(0,1fr)}.passport-grid{grid-template-columns:minmax(0,1fr);gap:4px}.passport-grid dd{margin-bottom:12px}.clock{position:static}.clock-heading{align-items:flex-start;flex-direction:column}.clock-controls{gap:6px}.clock-controls button{padding:7px 10px;font-size:12px}.pair-grid{grid-template-columns:minmax(0,1fr)}.currency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.currency-card{padding:12px}.currency-card strong{font-size:15px}h1{font-size:32px}nav{gap:6px}nav button{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Intrinsic select/date widths must not become the minimum width of a grid track. */
.archive-filters label{min-width:0;grid-template-columns:minmax(0,1fr)}
.archive-filters input,.archive-filters select{min-width:0;width:100%}
main,.overview{grid-template-columns:minmax(0,1fr)}
header,main,nav,footer{overflow-wrap:anywhere}
header>div,nav>button,.clock-controls>*,.history-controls>*,.currency-card,.pair-card{min-width:0;max-width:100%}
#rank-chart,#replay-bump,#replay-landscape,#landscape-chart,#network-chart{min-width:0}
@media(max-width:760px){
  .table-wrap table{table-layout:fixed}
  .table-wrap th,.table-wrap td{padding:10px 6px;overflow-wrap:anywhere}
  .history-list{overflow:visible}
}
@media(max-width:480px){
  /* A full row leaves the native date editor and its calendar button usable. */
  .archive-filters{grid-template-columns:minmax(0,1fr)}
}

/* UI-OBS-01 refinement: public ranks and categorical legends; replay unchanged. */
.visual-legend{display:flex;flex-wrap:wrap;gap:10px 24px;list-style:none;padding:14px 18px;margin:18px 0;background:#10212d;border:1px solid var(--line);border-radius:12px;font-size:13px;color:#c6d7e2}
.visual-legend li{max-width:100%;overflow-wrap:anywhere}
.visual-legend strong{color:#eef4f8}
.landscape-column{fill-opacity:.58;stroke-width:2}
.landscape-node.selected .landscape-column{fill-opacity:.95;stroke:#f4eacb;stroke-width:3.5}
.landscape-rank{font-size:17px;font-weight:750}
.landscape-currency{font-size:14px;font-weight:700}
.landscape-order{fill:#c9dce8;font-weight:650}
.landscape-history{color:var(--currency)}
.landscape-trace{stroke:currentColor;stroke-width:2.5;stroke-dasharray:none}
.landscape-trace-point{fill:currentColor;stroke:#071018;stroke-width:1}
.trace-current{fill:currentColor;stroke:#f7edce;stroke-width:2}
.trace-heading{font-size:13px;font-weight:650}
#landscape-chart{border:1px solid var(--line);border-radius:16px;background:#0a1721;padding:8px}
.network-edge{opacity:.12;stroke:#7891a5}
.network-edge.chosen{opacity:1;stroke:var(--currency,#d3c0e5);stroke-width:3;filter:drop-shadow(0 0 3px #c6d8ef80)}
.network-edge.edge-HIGH.chosen{stroke-width:4}
.network-node:not(.selected){opacity:.8}
.network-node.selected circle{stroke:#fff1cb;stroke-width:5;fill:#36596c;filter:drop-shadow(0 0 7px #a6d8eea0)}
.network-node .structure-inner{fill:none;pointer-events:none}
.network-legend li{display:flex;align-items:center;gap:10px}
.line-swatch{display:inline-block;width:36px;min-width:36px;border-top:2px solid #c8d8e8}
.line-swatch.dashed{border-top-style:dashed}
.line-swatch.dotted{border-top-style:dotted;border-top-width:4px}
.line-swatch.unavailable{border:0;height:3px;background:repeating-linear-gradient(90deg,#c8d8e8 0 12px,transparent 12px 17px,#c8d8e8 17px 20px,transparent 20px 25px)}
.concordance-summary{background:#142c3c;border:1px solid #385970;border-radius:10px;padding:12px 16px;color:#e6eff5;font-size:14px}
.concordance-times{display:flex;flex-wrap:wrap;gap:8px 22px;color:#bacee0;font-size:12px}
.concordance-times p{margin:4px 0}
.concordance-time-note,.concordance-band-key{font-size:12px;color:#bacee0}
.concordance-table{table-layout:fixed;background:#0d1a24;border:1px solid var(--line)}
.concordance-table th:first-child{width:34%}
.concordance-table th,.concordance-table td{padding:10px 12px;vertical-align:middle;text-transform:none;letter-spacing:normal}
.concordance-table tbody th>strong{display:block;font-size:15px;color:#edf4f8}
.concordance-table td strong{font-size:19px;display:inline-block;margin-right:10px}
.concordance-table abbr{font-size:12px;color:#bfd0dc;text-decoration:none}
.concordance-badge{display:inline-block;margin-top:4px;border:1px solid #768ca4;border-radius:7px;padding:3px 7px;font-size:12px;font-weight:500;color:#e4edf5;white-space:normal}
.badge-aligned{background:#18384b;border-style:solid}
.badge-partial{background:#312b49;border-style:dashed}
.badge-mixed{background:#393226;border-style:dotted}
.badge-unavailable{background:#1c2630;color:#b6c5d0}
.concordance-details-list{display:grid;gap:4px;margin-top:16px}
.concordance-details{margin:0;border-bottom:1px solid var(--line);padding:0 10px}
.concordance-details summary{font-size:13px}
.concordance-detail-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;font-size:13px}
.concordance-detail-cells p{margin:4px 0 14px;color:#c0d2e0}
@media(max-width:760px){.visual-legend{padding:12px;font-size:12px;gap:10px}.concordance-table th,.concordance-table td{padding:8px 4px}.concordance-table thead th{font-size:12px;overflow-wrap:anywhere}.concordance-table td strong{display:block;font-size:17px;margin:0}.concordance-badge{font-size:11px;padding:3px 4px}.concordance-detail-cells{grid-template-columns:minmax(0,1fr)}#landscape-chart{padding:0}.replay-charts .panel{padding:10px}.clock{overflow-wrap:anywhere}}

/* Operational status is separate from historical Replay data. */
.operational-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;min-width:0}
#data-status,#operational-alert{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
#data-status{flex:1 1 220px;margin:0}
#data-status[data-blocking="true"],#operational-alert[data-blocking="true"]{color:#ffd88f}
#retry-data{flex:0 0 auto;max-width:100%}
@media(max-width:480px){.operational-panel{display:grid;grid-template-columns:minmax(0,1fr);padding:12px}#retry-data{justify-self:start}#data-status,#operational-alert{font-size:14px}}

/* Account/trial information shares the dashboard width, outside the introduction. */
.account-trial-bar{max-width:1200px;margin:20px auto 0;padding:14px 24px;display:flex;align-items:center;gap:16px;border-block:1px solid var(--line);background:rgba(13,26,36,.65);min-width:0}
.account-trial-bar a{flex:0 0 auto;color:var(--accent);text-underline-offset:3px}
.account-trial-bar #trial-status{margin:0;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:14px;color:var(--text)}
@media(max-width:760px){.account-trial-bar{margin-top:16px;padding:12px 16px;align-items:flex-start;flex-direction:column;gap:8px}.account-trial-bar #trial-status{font-size:13px;line-height:1.6}}

/* Account page only: compact language controls and readable form sections. */
.account-page .account-container{display:block;max-width:760px;margin:24px auto;padding:24px;line-height:1.6}
.account-page .account-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.account-page h1{font-size:28px;margin:0}
.account-page .account-language{display:flex;gap:6px}
.account-page .account-language button{width:auto;min-width:44px;min-height:44px;padding:6px 10px}
.account-page .account-language [aria-pressed="true"]{border-color:var(--accent);color:var(--accent)}
.account-page section{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.account-page h2{margin:0 0 14px;font-size:20px}
.account-page form{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.account-page label{display:block;margin-top:8px;font-size:14px}
.account-page input{width:100%;min-height:44px;font-size:16px}
.account-page .account-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:12px}
.account-page button{max-width:100%;min-height:44px;white-space:normal}
.account-page a{color:var(--accent);text-underline-offset:3px}
.account-page #trial,.account-page #message,.account-page #auth{overflow-wrap:anywhere;white-space:normal}
.account-page #message:empty,.account-page #mail:empty{display:none}
.account-page #message{padding:12px;border-left:3px solid var(--accent);background:var(--panel)}
.account-page #mail{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
@media(max-width:480px){.account-page .account-container{margin:8px auto;padding:16px}.account-page section{padding:16px}.account-page h1{font-size:24px}}

/* Dashboard brand: compact inline layout, fixed sidebar on wide screens. */
.language-control{padding-left:18px}
.vcl-title-anchor{position:relative}
.vcl-dashboard-brand{display:flex;color:inherit;text-decoration:none;font-size:32px;font-weight:700}
.vcl-title-anchor .vcl-dashboard-brand{position:static;width:auto;max-width:none;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;margin:12px 0;padding:0}
.vcl-title-anchor .vcl-dashboard-brand img{width:64px;height:64px;object-fit:contain;flex-shrink:0}
.vcl-title-anchor .vcl-dashboard-brand span{writing-mode:horizontal-tb;text-orientation:mixed;text-align:center;white-space:nowrap;font-size:24px;line-height:1.2;letter-spacing:1px}
@media(min-width:1560px){
.vcl-title-anchor .vcl-dashboard-brand{position:fixed;top:100px;right:calc(50% + 592px);left:auto;width:183px;margin:0;flex-direction:column;z-index:10}
.vcl-title-anchor .vcl-dashboard-brand img{width:144px;height:144px}
.vcl-title-anchor .vcl-dashboard-brand span{writing-mode:vertical-rl;text-orientation:upright;white-space:pre;font-size:22px;letter-spacing:2px}
}
/* Essential explanation follows the internal IT/EN controls without JavaScript additions. */
.rank-reading-note{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);overflow-wrap:anywhere}
.rank-reading-note [lang="en"]{display:none}
html[lang="en"] .rank-reading-note [lang="it"]{display:none}
html[lang="en"] .rank-reading-note [lang="en"]{display:inline}


/* VCL access tiers V1 */
.access-locked,button[data-timeframe]:disabled,button[data-view]:disabled{opacity:.45;cursor:not-allowed}
#access-tier-status,#effective-access{overflow-wrap:anywhere;font-weight:700}
