:root{color-scheme:light;--paper:#f5f3ee;--card:#fffefa;--ink:#2d3932;--muted:#87947c;--line:#dce2d4;--green:#38795c;--red:#b66651;--green-tint:#edf2e7;--red-tint:#f6ede6;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}button:disabled{cursor:default;opacity:.35}a{color:inherit;text-decoration:none}button,input,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #78966b;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.9)}.dakim-shell{min-height:100vh;background:var(--paper)}.masthead{height:48px;margin:0 16px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,"Times New Roman",serif;font-size:39px;letter-spacing:-2.5px;line-height:1}.brand span{color:#a99b72}.brand-note{border-left:1px solid var(--line);padding-left:18px;color:#87917e;line-height:1.3;font-size:10px;letter-spacing:.15px}.version{font-size:10px;letter-spacing:1px;color:#8e9a80;border:1px solid var(--line);padding:4px 6px;border-radius:4px}.header-right{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:10px}.venue{letter-spacing:1.6px;font-size:10px;font-weight:650}.venue span{margin-left:13px;color:#9ba28f;font-weight:400}.header-right time{font-variant-numeric:tabular-nums;color:var(--muted)}main{padding:0 16px}.workspace-head{padding:30px 0 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:650;color:#879c78}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.5px}h1{font-size:38px;margin:9px 0 0;display:flex;align-items:center;gap:14px}h1>span{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:11px;letter-spacing:0;padding:3px 7px;border:1px solid var(--line);border-radius:4px;color:#87947b}.workspace-actions{display:flex;align-items:center;gap:14px;min-width:0}.connection{display:flex;gap:7px;align-items:center;color:#7c8e70;font-size:10px;max-width:300px;min-width:0}.connection-message{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#b2a075;box-shadow:0 0 0 4px #b2a0750b}.status-dot.live{background:#6e9a6b}.status-dot.stale,.status-dot.error,.status-dot.auth-required{background:#bc7b60}.quiet-button{color:#7e8e72;font-size:10px;padding:5px 0;white-space:nowrap}.outline-button,.solid-button{border-radius:4px;padding:6px 10px;font-size:10px;white-space:nowrap}.outline-button{border:1px solid #d2ddc6;background:#fbfaf6;color:#718365}.solid-button{border:1px solid #415b38;background:#415b38;color:#fffef8}.feed-notice{border:1px solid #dfd8c4;background:#f4efe4;color:#947247;border-radius:5px;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;margin:0 0 20px;line-height:1.6}.feed-notice button{font-size:11px;color:#6b805a;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.toolbar{min-height:36px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.layout-options,.toolbar-right{display:flex;align-items:center;gap:10px}.control-label{font-size:10px;color:#879877}.layout-presets{display:flex;gap:2px;padding:2px;border:1px solid #dce0d2;background:#eeefe6;border-radius:5px}.layout-presets button{min-width:26px;height:22px;font-size:10px;color:#8a987f;border-radius:3px;padding:0 6px}.layout-presets button[aria-pressed=true]{background:#465f3e;color:#fffef7;box-shadow:0 1px 3px #31432a18}.layout-caption{font-size:9px;color:#8c9c7c;white-space:nowrap}.toolbar-divider{height:18px;width:1px;background:var(--line)}.depth-badge{background:#e8eddf;color:#738b62;padding:6px 12px;font-size:12px;border-radius:4px}.layout-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:20px;padding:0;font-size:8px;color:#8b9b7c}.page-tools{display:flex;gap:4px;align-items:center}.page-tools>span{margin-right:5px}.page-tools button{width:16px;height:16px;border:1px solid var(--line);background:#fcfcf7;border-radius:3px;color:#8c9c79;font-size:14px;line-height:1}.market-viewport{overflow-x:auto;padding:4px;margin:-4px;scrollbar-width:thin;scrollbar-color:#c8d0bd transparent}.market-grid{display:grid;grid-template-columns:repeat(var(--columns,5),minmax(256px,1fr));gap:8px}.market-card{position:relative;background:var(--card);border:1px solid #d9e2ce;border-radius:7px;padding:6px 9px;min-width:0;container-type:inline-size;transition:border-color .15s}.market-card:hover{border-color:#b7c6a8}.card-head{display:flex;gap:5px;align-items:flex-start;min-height:30px;margin-bottom:4px}.drag-handle{font-size:17px;padding:1px 0 0;width:9px;flex-shrink:0;color:#a8b49a;cursor:grab;user-select:none;align-self:stretch}.drag-handle:active{cursor:grabbing}.stock-button{padding:0;margin-right:auto;text-align:left;min-width:0;display:flex;align-items:baseline;gap:4px;line-height:21px}.stock-name{font-size:20px;font-weight:600;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:21px;letter-spacing:-.5px}.stock-code{font-size:9px;letter-spacing:0;color:#889c74;white-space:nowrap;flex-shrink:0}.stock-code span{font-size:9px;color:#95a487}.stock-button>.change-symbol{font-size:10px;line-height:21px;color:#7b9169;flex-shrink:0}.last-block{text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.last-price{font-size:20px;font-weight:500;line-height:21px;letter-spacing:-.5px}.change{font-size:8px;margin-top:0;line-height:9px;white-space:nowrap;letter-spacing:-.1px}.source-link{font-size:12px;line-height:18px;color:#889e74;align-self:flex-start}.up{color:var(--green)}.down{color:var(--red)}.flat{color:var(--ink)}.card-stats{margin-bottom:3px}.card-stats dl{display:grid;margin:0;gap:2px 5px}.stats-prices{--stat-width:25cqw;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:2px!important}.stats-totals{--stat-width:33.3333cqw;grid-template-columns:repeat(3,minmax(0,1fr))}.card-stat{min-width:0;max-width:100%;overflow:hidden}.card-stat dt{font-size:8px;line-height:9px;color:#879779;margin-bottom:0;white-space:nowrap}.card-stat dd{margin:0;display:block;max-width:100%;width:100%;font-size:var(--data-font,11px);font-weight:500;letter-spacing:-.15px;font-variant-numeric:tabular-nums;overflow-x:auto;scrollbar-width:none;white-space:nowrap;line-height:12px;border-radius:2px}.book-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:8px;line-height:10px;letter-spacing:.4px;color:#869a75;margin-bottom:2px}.card-state{letter-spacing:0;font-size:8px;line-height:10px;color:#8c987c}.card-state.live{color:#709263}.card-state.partial{color:#967a51}.card-state.stale,.card-state.error,.card-state.auth-required{color:var(--red)}.depth-table{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}.depth-table th{font-size:8px;line-height:11px;height:12px;font-weight:400;color:#8f9e7d;text-align:right;padding:0 1px 1px}.depth-table th.up{color:var(--green)}.depth-table th.down{color:var(--red)}.orders-col{width:8%}.quantity-col{width:25%}.price-col{width:17%}.depth-table td{font-size:11px;line-height:14px;height:15px;text-align:right;white-space:nowrap;padding:0 1px;letter-spacing:-.2px}.depth-table .orders{font-size:var(--data-font,11px);color:#94a284}.bid-size{font-size:var(--data-font,11px);color:#6d8961;background:#eff4e9}.ask-size{font-size:var(--data-font,11px);color:#a47b65;background:#f7f0e9}.depth-table td:nth-child(4),.depth-table th:nth-child(4){text-align:left;border-left:4px solid var(--card)}.depth-table td:nth-child(5),.depth-table th:nth-child(5){text-align:left}.tape-divider{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;padding:2px 0 1px;border-top:1px solid #e4e8dc;font-size:8px;line-height:10px;letter-spacing:.4px;color:#829773}.tape-divider button{padding:0;font-size:8px;line-height:10px;letter-spacing:0;color:#7c9369;white-space:nowrap}.card-tape{height:148px;overflow:auto;overflow-anchor:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:#c7d1bc transparent}.tape-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;overflow-anchor:none}.tape-table th{font-weight:400;font-size:9px;color:#92a080;text-align:right;height:18px;padding:0 1px;background:var(--card);position:sticky;top:0;z-index:1;border-bottom:1px solid #e4e8db}.tape-table th:first-child{text-align:left;width:24%}.tape-table th:nth-child(2){width:22%}.tape-table th:nth-child(3){width:40%}.tape-table th:nth-child(4){width:14%}.trade-row td{height:26px;max-height:26px;line-height:25px;padding:0 1px;font-size:11px;text-align:right;border-bottom:1px solid #edf0e7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trade-row td:first-child{text-align:left;font-size:9px;color:#8e9d7e}.trade-row .trade-side{font-size:9px}.empty-tape td{text-align:center;color:#91a27f;padding:34px 5px;font-size:11px}.spacer td{padding:0!important;border:0!important;line-height:0!important;font-size:0!important}.dragging{opacity:.5;border-style:dashed}footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:2px 0;font-size:8px;line-height:10px;color:#879b76}footer>span{display:flex;align-items:center;gap:7px}.footer-mark{width:5px;height:5px;background:#a6b496;border-radius:50%}.instrument-search{position:absolute;top:36px;left:8px;right:8px;background:#fffefa;border:1px solid #c9d5bd;box-shadow:0 10px 25px #34452c17;border-radius:7px;z-index:5;overflow:hidden}.search-input-row{display:flex;align-items:center;padding:7px 10px;border-bottom:1px solid var(--line);gap:7px}.search-input-row input{width:100%;min-width:0;background:transparent;border:0;font-size:13px;padding:6px 0;outline:0}.search-input-row button{font-size:22px;color:#82966f}.search-results{max-height:245px;overflow:auto}.search-result{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;width:100%;padding:12px 13px;font-size:12px}.search-result span{color:#8c9f78;font-size:11px}.search-result.selected,.search-result:hover{background:#eef3e7}.search-hint{padding:14px;color:#8b987f;font-size:11px;line-height:1.5}.modal-layer{position:fixed;inset:0;display:grid;place-items:center;padding:30px 20px;z-index:20;overflow:auto}.modal-backdrop{position:fixed;inset:0;background:#27342535;backdrop-filter:blur(4px);width:100%;height:100%;cursor:default}.dialog{position:relative;width:600px;max-width:100%;max-height:calc(100vh - 60px);overflow:auto;border-radius:12px;border:1px solid #d8e0ce;background:#fffefa;padding:32px;box-shadow:0 25px 100px #25351b22}.dialog h2{font-size:39px;margin:13px 0 20px}.dialog-close{position:absolute;right:23px;top:18px;font-size:32px;color:#91a27d;line-height:1}.dialog-intro{font-size:16px;line-height:1.7;color:#586650}.dialog-note{font-size:12px;line-height:1.7;color:#849477;margin-top:18px}.connection-facts{margin:28px 0 22px}.connection-facts>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--line);font-size:14px}.connection-facts>div:last-child{border-bottom:1px solid var(--line)}.connection-facts dt{color:#839476}.connection-facts dd{margin:0;text-align:right}.connection-dialog>.solid-button{width:100%}.watchlist-rows{max-height:50vh;overflow:auto;margin:22px 0;position:relative}.watchlist-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #e6ebde;padding:12px 0}.watchlist-number{width:24px;color:#a0ad93;font-size:10px}.watchlist-instrument{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;margin-right:auto;flex:1;padding:0}.watchlist-instrument strong{font-size:13px;font-weight:600}.watchlist-instrument span{font-size:11px;color:#94a282}.watchlist-row>button:not(.watchlist-instrument){border:1px solid var(--line);padding:5px 8px;border-radius:4px;color:#839a70}.watchlist-rows>.instrument-search{position:relative;top:auto;left:auto;right:auto;margin:8px 0}.dialog-actions{display:flex;justify-content:space-between;gap:20px;margin-top:20px}.history-dialog{width:820px}.history-header{display:flex;align-items:center;justify-content:space-between;gap:25px}.history-header h2{margin-bottom:6px}.history-header .last-price{font-size:34px}.history-header .change{font-size:12px}.history-tabs{display:flex;gap:20px;margin:22px 0 18px;border-bottom:1px solid var(--line)}.history-tabs button{padding:0 0 12px;color:#8b9c7c;font-size:12px}.history-tabs button[aria-pressed=true]{color:#405d35;border-bottom:2px solid #6b875d}.history-scroll{height:410px;overflow:auto;overflow-anchor:none;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:#c3cdb9 transparent;overscroll-behavior:contain}.history-table th{height:28px}.history-table .trade-row td{height:28px;max-height:28px;line-height:27px;font-size:13px}.history-table .trade-row td:first-child,.history-table .trade-row .trade-side{font-size:11px}.price-volume-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.price-volume-table th{font-weight:400;font-size:11px;color:#8c9c7b;text-align:right;position:sticky;top:0;background:var(--card);padding:8px}.price-volume-table td{text-align:right;font-size:13px;padding:9px 8px;border-bottom:1px solid #e9ede1}.price-volume-table th:first-child,.price-volume-table td:first-child{text-align:left}.pulse-up-0{animation:up0 1.15s ease-out}.pulse-up-1{animation:up1 1.15s ease-out}.pulse-down-0{animation:down0 1.15s ease-out}.pulse-down-1{animation:down1 1.15s ease-out}@keyframes up0{from{background-color:#cde4c5}to{background-color:transparent}}@keyframes up1{from{background-color:#cde4c5}to{background-color:transparent}}@keyframes down0{from{background-color:#eed5cb}to{background-color:transparent}}@keyframes down1{from{background-color:#eed5cb}to{background-color:transparent}}.card-pulse-up-0:after,.card-pulse-up-1:after,.card-pulse-down-0:after,.card-pulse-down-1:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3}.card-pulse-up-0:after{animation:cardup0 1.25s ease-out}.card-pulse-up-1:after{animation:cardup1 1.25s ease-out}.card-pulse-down-0:after{animation:carddown0 1.25s ease-out}.card-pulse-down-1:after{animation:carddown1 1.25s ease-out}@keyframes cardup0{from{background:#75a95e25;box-shadow:inset 0 0 0 1px #84a86b70}to{background:transparent;box-shadow:none}}@keyframes cardup1{from{background:#75a95e25;box-shadow:inset 0 0 0 1px #84a86b70}to{background:transparent;box-shadow:none}}@keyframes carddown0{from{background:#c27c5c22;box-shadow:inset 0 0 0 1px #bc8a6770}to{background:transparent;box-shadow:none}}@keyframes carddown1{from{background:#c27c5c22;box-shadow:inset 0 0 0 1px #bc8a6770}to{background:transparent;box-shadow:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}


@media(max-width:1100px){.brand-note{font-size:9px;padding-left:12px}.header-right{gap:15px}.workspace-actions{gap:9px}.connection{max-width:160px}.layout-caption{display:none}}
@media(max-width:850px){.brand-note{max-width:190px}.header-right time{display:none}.toolbar{gap:9px;flex-wrap:wrap;padding:4px 0}.workspace-actions{margin-left:auto}.connection{max-width:130px}.market-grid{grid-template-columns:repeat(var(--columns,5),minmax(270px,1fr))}}
@media(max-width:650px){.masthead{margin:0 12px;gap:12px;height:58px}.brand{font-size:35px}.brand-note{font-size:8px;max-width:125px;padding-left:10px}.header-right{gap:8px}.venue{display:none}.connection-button{padding:6px 7px;font-size:9px}main{padding:0 12px}.toolbar{align-items:center;justify-content:space-between;gap:5px}.layout-options{gap:6px}.layout-options>.control-label{font-size:9px}.layout-presets button{min-width:24px;padding:0 4px}.workspace-actions{justify-content:space-between;width:100%;margin:0;gap:8px}.connection{max-width:180px;font-size:9px}.workspace-actions .quiet-button,.workspace-actions .outline-button,.workspace-actions .solid-button{font-size:9px;padding:6px 8px}.layout-meta{padding:3px 0;gap:8px}.drag-tip{max-width:140px;line-height:1.4}.page-tools>span{margin-right:0;font-size:8px}footer{flex-wrap:wrap;gap:4px;font-size:8px}footer>span:nth-child(2){display:none}.dialog{padding:26px 21px;max-height:calc(100vh - 30px)}.modal-layer{padding:15px 12px}.dialog h2{font-size:33px}.dialog-intro{font-size:14px}.connection-facts>div{font-size:12px}.history-scroll{height:350px}.history-header .last-price{font-size:28px}.history-header .change{font-size:10px}.price-volume-table th,.price-volume-table td{padding:8px 3px;font-size:11px}.feed-notice{font-size:11px;align-items:flex-start}.feed-notice button{font-size:10px}}
/* Desktop cards share the available viewport. Only the complete tape viewport
   is zoomed: its 26px rows and scrollTop coordinates remain unchanged. */
.dakim-shell {
  height: 100dvh;
  display: flex;
  flex-direction: column;
}
.masthead, .toolbar, .layout-meta, footer { flex-shrink: 0; }
.dakim-shell > main {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.market-viewport { flex: 1; min-height: 0; overflow: auto; container-type: size; }
.market-grid {
  height: 100%;
  /* Match column width to the height available in a windowed browser.
     A 280px floor protects numeric columns in short laptop windows. */
  width: min(100%, max(calc(var(--columns, 5) * 280px + (var(--columns, 5) - 1) * 8px), calc((100cqh - (var(--rows, 2) - 1) * 8px) / var(--rows, 2) / 1.3 * var(--columns, 5) + (var(--columns, 5) - 1) * 8px)));
  margin-inline: auto;
  max-height: calc(var(--rows, 2) * 960px + (var(--rows, 2) - 1) * 8px);
  min-height: calc(var(--rows, 2) * 300px + (var(--rows, 2) - 1) * 8px);
  grid-template-columns: repeat(var(--columns, 5), minmax(0, 1fr));
  grid-template-rows: repeat(var(--rows, 2), minmax(0, 1fr));
}
.market-card {
  container-type: size;
  min-height: 0;
  padding: clamp(6px, 1vh, 12px) 8px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: max(32px, min(10%, 64px)) max(56px, min(18%, 88px)) max(13px, min(4%, 24px)) max(84px, min(30%, 204px)) max(13px, min(4%, 24px)) minmax(0, 1fr);
  --data-font: clamp(13px, 2.9cqh, 16px);
  --label-font: clamp(10.5px, 2.2cqh, 12px);
  --tape-scale: clamp(.45, calc((var(--tape-space) - var(--label-font) * 1.1 - 4px) / 132px), 1.5);
  --tape-space: calc(100cqh - max(32px, min(10cqh, 64px)) - max(56px, min(18cqh, 88px)) - max(13px, min(4cqh, 24px)) - max(84px, min(30cqh, 204px)) - max(13px, min(4cqh, 24px)));
}
.card-head { min-height: 0; margin: 0; align-items: center; gap: 4px; }
.stock-name, .last-price {
  font-size: clamp(20px, 4.4cqh, 25px);
  line-height: 1.1;
}
.stock-code { font-size: clamp(10.5px, 2.1cqh, 12px); }
.stock-button { flex-direction: row; align-items: baseline; gap: 3px; line-height: 1; }
.stock-code-row { display: flex; align-items: baseline; flex-shrink: 0; gap: 2px; line-height: 1.1; }
.stock-code-row .change-symbol { font-size: 10px; color: #7b9169; }
.drag-handle, .source-link { align-self: center; }
.change { font-size: clamp(10px, 2.1cqh, 12px); line-height: 1.2; }
.card-stats {
  margin: 0;
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
}
.card-stats dl { align-content: center; gap: 0 6px; }
.stats-prices { margin-bottom: 0 !important; }
.card-stat dt { font-size: var(--label-font); line-height: 1.1; }
.card-stat dd {
  font-size: var(--data-font);
  line-height: 1.2;
}
.book-heading, .tape-divider {
  margin: 0;
  padding: 0;
  font-size: var(--label-font);
  line-height: 1.1;
}
.card-state, .tape-divider button { font-size: var(--label-font); line-height: 1.1; }
.depth-table { height: 100%; }
.depth-table th {
  height: 4cqh;
  padding: 0 1px;
  font-size: var(--label-font);
  line-height: 1.1;
}
.depth-table td { height: auto; padding: 0 1px; font-size: var(--data-font); line-height: 1.1; }
.depth-table .orders {
  font-size: var(--data-font);
}
.depth-table .bid-size, .depth-table .ask-size {
  font-size: var(--data-font);
}
.card-tape {
  zoom: var(--tape-scale);
  height: calc(132px + var(--label-font) * 1.1 / var(--tape-scale));
  min-height: 0;
}
.card-tape .tape-table th { height: calc(var(--label-font) * 1.1 / var(--tape-scale) + 2px); font-size: calc(var(--label-font) / var(--tape-scale)); line-height: 1.1; padding-block: 0; white-space: nowrap; }
.card-tape .trade-row td {
  font-size: calc(var(--data-font) / var(--tape-scale));
  line-height: 22px;
}
.card-tape .trade-row td:first-child, .card-tape .trade-row .trade-side {
  font-size: calc(var(--label-font) / var(--tape-scale));
}
.card-tape .trade-time-col { width: 24%; }
.card-tape .trade-price-col { width: 22%; }
.card-tape .trade-quantity-col { width: 40%; }
.card-tape .trade-side-col { width: 14%; }
@media (max-width: 1199px) {
  .dakim-shell { height: auto; min-height: 100dvh; }
  .dakim-shell > main { display: block; }
  .market-viewport { overflow: visible; container-type: normal; }
  .market-grid {
    height: auto;
    width: 100%;
    max-height: none;
    min-height: 0;
    grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
    grid-template-rows: none;
    grid-auto-rows: minmax(360px, calc((100dvh - 118px) / 2));
  }
}

/* Visual 8: Visual 2 styling, with a restrained clock and no drag grip. */
.drag-handle { display: none; }
.masthead { height: 64px; }
.brand-note { font-size: 12px; }
.market-clock { flex-shrink: 0; text-align: right; }
.header-right .market-clock time {
  display: block;
  font-size: clamp(32px, 3.4dvh, 40px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.75px;
  color: var(--ink);
  white-space: nowrap;
}
.clock-zone { display: block; margin-top: 3px; font-size: 9px; letter-spacing: .6px; color: var(--muted); }
@media (max-width: 850px) {
  .masthead { height: auto; min-height: 98px; padding: 8px 0; flex-wrap: wrap; row-gap: 6px; }
  .header-right { width: 100%; justify-content: space-between; }
  .market-clock { margin-right: auto; text-align: left; }
  .header-right .market-clock time { font-size: 28px; }
  .brand-note { font-size: 11px; }
}

/* Quantity bars share a linear scale across the five visible bids and asks.
   Grow outwards from the prices; keep numeric text readable above the tint. */
.depth-table .quantity-col { width: 25%; }
.depth-table .price-col { width: 17%; }
.depth-table .bid-size {
  --quantity-ink: #4d6743;
  color: var(--quantity-ink);
  background: linear-gradient(to left, #dfebd5 var(--depth-width, 0%), transparent var(--depth-width, 0%));
}
.depth-table .ask-size {
  --quantity-ink: #875e47;
  color: var(--quantity-ink);
  background: linear-gradient(to right, #f0dfd3 var(--depth-width, 0%), transparent var(--depth-width, 0%));
}
/* Dedicated text gutters: numbers never touch at quantity/price boundaries.
   Bar backgrounds still reach the price edge; only their text is inset. */
.depth-table .bid-size { padding-right: 3px; padding-left: 3px; }
.depth-table .ask-size { padding-left: 3px; padding-right: 3px; }
.depth-table td:nth-child(3), .depth-table th:nth-child(3) { padding-inline: 3px; }
.depth-table td:nth-child(4), .depth-table th:nth-child(4) { border-left-width: 2px; padding-inline: 3px; }
.stats-totals { grid-template-columns: minmax(0, 28fr) minmax(0, 30fr) minmax(0, 42fr); }
.stats-totals .card-stat:nth-child(1) { --stat-width: calc((100cqw - 12px) * .28); }
.stats-totals .card-stat:nth-child(2) { --stat-width: calc((100cqw - 12px) * .30); }
.stats-totals .card-stat:nth-child(3) { --stat-width: calc((100cqw - 12px) * .42); }

.depth-table td:nth-child(3), .depth-table td:nth-child(4) {
  font-size: var(--data-font);
}
.card-stat dt, .book-heading, .tape-divider, .depth-table th, .tape-table th { color: #6c7d60; }

@media (min-width: 1200px) and (max-height: 800px) {
  .masthead { height: 48px; }
  .toolbar { min-height: 32px; }
  .layout-meta { min-height: 14px; }
  footer { padding: 0; }
}

/* Quantity update flashes must not fill the unoccupied part of a depth bar. */
.depth-table :is(.bid-size, .ask-size).pulse-up-0 { animation-name: quantity-up0; }
.depth-table :is(.bid-size, .ask-size).pulse-up-1 { animation-name: quantity-up1; }
.depth-table :is(.bid-size, .ask-size).pulse-down-0 { animation-name: quantity-down0; }
.depth-table :is(.bid-size, .ask-size).pulse-down-1 { animation-name: quantity-down1; }
@keyframes quantity-up0 { from { color: #164c2b; text-shadow: 0 0 .3px currentColor; } to { color: var(--quantity-ink); text-shadow: none; } }
@keyframes quantity-up1 { from { color: #164c2b; text-shadow: 0 0 .3px currentColor; } to { color: var(--quantity-ink); text-shadow: none; } }
@keyframes quantity-down0 { from { color: #9b3425; text-shadow: 0 0 .3px currentColor; } to { color: var(--quantity-ink); text-shadow: none; } }
@keyframes quantity-down1 { from { color: #9b3425; text-shadow: 0 0 .3px currentColor; } to { color: var(--quantity-ink); text-shadow: none; } }

/* Prices and the 52-week range share the first statistics row. The totals
   keep their own wider columns for volume, traded value and market cap. */
.card-head { position: relative; padding-right: 0; }

.card-head .last-block { padding-top: 2px; }
.card-head .last-price { display: block; letter-spacing: -.35px; }
.card-head .last-price:hover { text-decoration: underline; text-underline-offset: 3px; }
.card-head .stock-name { font-weight: 600; letter-spacing: -.6px; }
.card-stats { display: block; }
.card-stats .stats-matrix {
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  align-content: stretch;
  column-gap: 6px;
  row-gap: 0;
  padding-block: 0;
}
.stats-top {
  display: grid;
  grid-template-columns: minmax(0, 4.15fr) minmax(0, 2.4fr);
  column-gap: 3px;
  min-width: 0;
}
.card-stats .stats-session {
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.15fr);
  column-gap: 3px;
  align-content: start;
  min-width: 0;
}
.card-stats .stats-totals {
  grid-template-columns: minmax(0, 24fr) minmax(0, 25fr) minmax(0, 17fr) minmax(0, 34fr);
  column-gap: 6px;
  align-content: start;
  min-width: 0;
}
.stats-top dt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.stats-matrix .card-stat { display: grid; grid-template-rows: calc(var(--label-font) * 1.25) calc(var(--data-font) * 1.25); align-content: center; overflow: visible; }
.stats-matrix dt { font-size: var(--label-font); line-height: 1.25; }
.stats-matrix dd {
  width: 100%;
  text-align: left;
  align-self: start;
  font-size: var(--data-font);
  font-weight: 400;
  font-variant-numeric: tabular-nums lining-nums;
  letter-spacing: -.15px;
  line-height: 1.25;
  overflow: visible;
}
.depth-table td, .trade-row td { font-weight: 400; }
.book-heading, .tape-divider { letter-spacing: .2px; }

/* Every figure shares the card data size. Column budgets and the common
   geometry-based size reserve space without shrinking individual values. */
.stats-matrix .stat-value { display: block; font-size: var(--data-font); line-height: 1.25; }

/* Reference provenance stays in its own labelled group within the price row. */
.card-stats .card-reference {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 3px;
  margin: 0;
  padding: 0;
  border-top: 0;
  align-content: start;
  min-width: 0;
  font-variant-numeric: tabular-nums lining-nums;
}
.card-reference .reference-field {
  display: grid;
  grid-template-rows: calc(var(--label-font) * 1.25) calc(var(--data-font) * 1.25);
  align-content: start;
  gap: 0;
  min-width: 0;
}
.card-reference dt { color: #6c7d60; font-size: var(--label-font, 9.5px); line-height: 1.25; white-space: nowrap; }
.card-reference dd {
  margin: 0;
  min-width: 0;
  container-type: normal;
  color: var(--ink);
  font-size: var(--data-font, 12px);
  line-height: 1.25;
  letter-spacing: -.15px;
  white-space: nowrap;
}
.card-stats .warrant-reference { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.card-reference .reference-value { overflow-x: auto; scrollbar-width: none; }
.stats-matrix .warrant-terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; column-gap: 5px; align-content: start; }
.warrant-terms .reference-field { display: grid; grid-template-rows: auto auto; min-width: 0; }
.warrant-terms dt { font-size: var(--label-font); }
.warrant-terms dd { font-size: var(--data-font); white-space: nowrap; }

/* The six-field price row is fixed by card width, never by incoming values.
   Narrow cards retain readable range labels in a compact row below prices. */
@container (max-width: 239px) {
  .stats-top { grid-template-columns: minmax(0, 1fr); row-gap: 3px; }
  .card-reference .reference-field { display: flex; align-items: baseline; justify-content: space-between; gap: 4px; }
  .card-reference dd { width: auto; flex: 0 1 auto; }
}

/* Minimal boot transition. One wordmark, one controlled reveal. */
#app-wasm-loader.goapp-app-info {
  isolation: isolate;
  overflow: hidden;
  color: #2b3931;
  background: #f5f3ee;
  transition: opacity .62s cubic-bezier(.4, 0, .2, 1);
}
#app-wasm-loader-icon {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  animation: none !important;
}
#app-wasm-loader-label.dakim-native-loader-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  opacity: 0 !important;
}
.dakim-minimal-stage {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: #f5f3ee;
  opacity: 1;
  transition: opacity .62s cubic-bezier(.4, 0, .2, 1);
}
.dakim-minimal-wordmark {
  color: #2b3931;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(70px, 8vw, 116px);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.078em;
  opacity: 0;
  transform: translateY(6px) scale(.986);
  transform-origin: center;
  animation: dakim-minimal-arrive .42s .06s cubic-bezier(.22, 1, .36, 1) forwards;
  will-change: opacity, transform, letter-spacing;
}
.dakim-minimal-error {
  position: absolute;
  left: 50%;
  top: calc(50% + 86px);
  width: min(80vw, 520px);
  color: #805348;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 12px;
  line-height: 1.55;
  text-align: center;
  opacity: 0;
  transform: translate(-50%, 4px);
  transition: opacity .22s ease, transform .22s ease;
}
#app-wasm-loader.dakim-boot-error .dakim-minimal-error {
  opacity: 1;
  transform: translate(-50%, 0);
}
#app-wasm-loader.dakim-loader-opening {
  pointer-events: none;
  opacity: 0;
}
#app-wasm-loader.dakim-loader-opening .dakim-minimal-stage {
  opacity: 0;
}
#app-wasm-loader.dakim-loader-opening .dakim-minimal-wordmark {
  animation: none;
  opacity: 0;
  letter-spacing: -.095em;
  transform: translateY(-3px) scale(.982);
  transition:
    opacity .42s cubic-bezier(.4, 0, 1, 1),
    transform .58s cubic-bezier(.4, 0, .2, 1),
    letter-spacing .58s cubic-bezier(.4, 0, .2, 1);
}
html.dakim-boot-active .dakim-shell {
  opacity: 0;
  transform: translateY(3px);
}
html.dakim-app-visible .dakim-shell {
  animation: dakim-minimal-workspace-in .58s .04s cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes dakim-minimal-arrive {
  from { opacity: 0; transform: translateY(6px) scale(.986); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes dakim-minimal-workspace-in {
  from { opacity: 0; transform: translateY(3px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 640px) {
  .dakim-minimal-wordmark { font-size: clamp(64px, 20vw, 88px); }
  .dakim-minimal-error { top: calc(50% + 72px); }
}
@media (prefers-reduced-motion: reduce) {
  .dakim-minimal-wordmark,
  html.dakim-app-visible .dakim-shell {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  #app-wasm-loader.goapp-app-info,
  .dakim-minimal-stage,
  .dakim-minimal-wordmark {
    transition-duration: .10s !important;
    transition-delay: 0s !important;
  }
}
