/* $X1000 — paper trading, for real. Cream paper, black ink, blue ink (long / win), red ink (short / liquidated), a yellow
   highlighter. Hard offset shadows like a stack of paper. Every graphic is drawn in code (SVG / canvas), no images. */
:root {
  --paper: #f3ecdc; --sheet: #fbf7ee; --white: #fffdf6; --ink: #1b1a17; --ink2: #4a463e; --ink3: #8a8476;
  --blue: #2a46d8; --red: #e23b2a; --hi: #f7e35a; --line: 2px solid var(--ink); --drop: 5px 5px 0 var(--shade);
  /* FRAME theme tokens (2026-10-12): every colour below has a dark twin in :root[data-theme="dark"]. --on-color = small text on the blue / red inks */
  --shade: #1b1a17; --on-hi: #1b1a17; --on-color: #fff; --snow: #fff; --snow-a85: rgba(255,255,255,.85); --field: #fff; --card2: #fff; --img: #ddd; --hole: #1b1a17; --ink-deep: #000;
  --ink-a12: rgba(27,26,23,.12); --ink-a18: rgba(27,26,23,.18); --ink-a20: rgba(27,26,23,.2); --ink-a25: rgba(27,26,23,.25); --scrim: rgba(27,26,23,.45); --receipt-drop: rgba(27,26,23,.85);
  --hi-a30: rgba(247,227,90,.3); --hi-a35: rgba(247,227,90,.35); --hi-a55: rgba(247,227,90,.55);
  --blue-a30: rgba(42,70,216,.3); --red-a30: rgba(226,59,42,.3); --red-a06: rgba(226,59,42,.06); --red-a28: rgba(226,59,42,.28); --red-a55: rgba(226,59,42,.55);
  --sheet-a35: rgba(251,247,238,.35); --sheet-a85: rgba(251,247,238,.85);
  --red-wash: #fde8e4; --danger-wash: #ffe1da; --error-wash: #ffd9d2; --rule-paper: #f1ebdc; --disabled: #e8e1d1; --grid: rgba(70,120,190,.18);
  --tape: #1b1a17; --tape-ink: #e9e1cf; --tape-dim: #a9a191; --tape-rule: #5d584d; --tape-red: #ff6a55; --tape-blue: #8ea2ff; --print-dim: #bdb5a4; --print-rule: #6b665b;
  --blend: multiply;
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3  0 0 0 0 .26  0 0 0 0 .2  0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --mono: "Courier Prime", ui-monospace, monospace; --head: Anton, Impact, sans-serif; --ui: "Inter Tight", system-ui, sans-serif;
}
/* THE PAPER AT NIGHT (GK 2026-10-12): deep warm charcoal paper, cream ink, the same blue + red inks a touch brighter, a softer
   highlighter. Hard offset shadows stay (muted cream ink). No glow, no gradients. Set by the inline head script + common.js. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #17150f; --sheet: #201d16; --white: #26221a; --ink: #efe6d2; --ink2: #c2b8a3; --ink3: #8f8673;
  --blue: #5b78ff; --red: #ff5a46; --hi: #d9c24c;
  --shade: #cbbfa6; --on-hi: #17150f; --on-color: #17150f; --snow: #fff; --snow-a85: rgba(255,255,255,.85); --field: #110f0b; --card2: #27231b; --img: #2c281f; --hole: #0a0906; --ink-deep: #fffaf0;
  --ink-a12: rgba(239,230,210,.1); --ink-a18: rgba(239,230,210,.14); --ink-a20: rgba(239,230,210,.16); --ink-a25: rgba(239,230,210,.2); --scrim: rgba(6,5,3,.68); --receipt-drop: rgba(203,191,166,.6);
  --hi-a30: rgba(217,194,76,.15); --hi-a35: rgba(217,194,76,.19); --hi-a55: rgba(217,194,76,.28);
  --blue-a30: rgba(91,120,255,.32); --red-a30: rgba(255,90,70,.32); --red-a06: rgba(255,90,70,.07); --red-a28: rgba(255,90,70,.2); --red-a55: rgba(255,90,70,.55);
  --sheet-a35: rgba(32,29,22,.35); --sheet-a85: rgba(32,29,22,.88);
  --red-wash: #3b1f19; --danger-wash: #44221b; --error-wash: #4b241c; --rule-paper: #2f2a21; --disabled: #2c281f; --grid: rgba(120,150,220,.13);
  --tape: #0c0b08; --tape-ink: #e9e1cf; --tape-dim: #a1988a; --tape-rule: #4a453b; --tape-red: #ff6a55; --tape-blue: #8ea2ff; --print-dim: #5a5446; --print-rule: #8f8673;
  --blend: normal;
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .94  0 0 0 0 .9  0 0 0 0 .8  0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
/* no head script yet (or it failed): follow the OS until common.js sets data-theme */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --paper: #17150f; --sheet: #201d16; --white: #26221a; --ink: #efe6d2; --ink2: #c2b8a3; --ink3: #8f8673;
    --blue: #5b78ff; --red: #ff5a46; --hi: #d9c24c;
    --shade: #cbbfa6; --on-hi: #17150f; --on-color: #17150f; --snow: #fff; --snow-a85: rgba(255,255,255,.85); --field: #110f0b; --card2: #27231b; --img: #2c281f; --hole: #0a0906; --ink-deep: #fffaf0;
    --ink-a12: rgba(239,230,210,.1); --ink-a18: rgba(239,230,210,.14); --ink-a20: rgba(239,230,210,.16); --ink-a25: rgba(239,230,210,.2); --scrim: rgba(6,5,3,.68); --receipt-drop: rgba(203,191,166,.6);
    --hi-a30: rgba(217,194,76,.15); --hi-a35: rgba(217,194,76,.19); --hi-a55: rgba(217,194,76,.28);
    --blue-a30: rgba(91,120,255,.32); --red-a30: rgba(255,90,70,.32); --red-a06: rgba(255,90,70,.07); --red-a28: rgba(255,90,70,.2); --red-a55: rgba(255,90,70,.55);
    --sheet-a35: rgba(32,29,22,.35); --sheet-a85: rgba(32,29,22,.88);
    --red-wash: #3b1f19; --danger-wash: #44221b; --error-wash: #4b241c; --rule-paper: #2f2a21; --disabled: #2c281f; --grid: rgba(120,150,220,.13);
    --tape: #0c0b08; --tape-ink: #e9e1cf; --tape-dim: #a1988a; --tape-rule: #4a453b; --tape-red: #ff6a55; --tape-blue: #8ea2ff; --print-dim: #5a5446; --print-rule: #8f8673;
    --blend: normal;
    --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .94  0 0 0 0 .9  0 0 0 0 .8  0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  background-color: var(--paper); color: var(--ink); font: 500 15px/1.35 var(--ui); min-height: 100vh; overflow-x: hidden;
  background-image: var(--grain);
}
button { font: inherit; color: inherit; cursor: pointer; }
input { font: inherit; color: inherit; }
a { color: inherit; }
[hidden] { display: none !important; }
.up, .blue { color: var(--blue); } .down, .red { color: var(--red); }
.pict svg { display: block; width: 100%; height: 100%; }

/* ---------------------------------------------------------------- the tape */
.tape { height: 34px; border-bottom: var(--line); background: var(--tape); overflow: hidden; position: relative; }
.tape-run { display: flex; height: 100%; align-items: center; white-space: nowrap; will-change: transform; }
.tape-item { font: 700 13px var(--mono); padding: 0 18px; border-right: 1px dashed var(--tape-rule); display: inline-flex; gap: 7px; align-items: center; color: var(--tape-ink); text-decoration: none; }
.tape-item .who { color: var(--tape-dim); font-weight: 400; }
.tape-item.liq b { color: var(--tape-red); } .tape-item.win b { color: var(--tape-blue); }
.tape-item .me { background: var(--hi); color: var(--on-hi); padding: 0 4px; }
.tape-item:hover b { text-decoration: underline; }

/* ---------------------------------------------------------------- the masthead */
.mast { display: flex; align-items: center; gap: 18px; padding: 12px 20px; flex-wrap: wrap; border-bottom: 2px solid var(--ink-a12); }
.logo { text-decoration: none; display: flex; }
.stamp {
  font: 400 38px/1 var(--head); letter-spacing: 1px; color: var(--red); border: 4px solid var(--red); padding: 4px 12px 2px; border-radius: 6px;
  transform: rotate(-4deg); display: inline-block; mix-blend-mode: var(--blend); transition: transform .2s;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -2.2 2.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60'%3E%3Cfilter id='g'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -2.2 2.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
.logo:hover .stamp { transform: rotate(-7deg) scale(1.05); }
.nav { display: flex; gap: 4px; flex-wrap: wrap; }
.nav a { font: 400 17px/1 var(--head); letter-spacing: 1px; text-decoration: none; padding: 9px 12px 7px; border: 2px solid transparent; }
.nav a:hover { border-color: var(--ink); background: var(--sheet); }
.nav a.on { background: var(--ink); color: var(--paper); box-shadow: 3px 3px 0 var(--red); }
.mast-right { margin-left: auto; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.btn { border: var(--line); background: var(--sheet); padding: 9px 13px; font: 800 14px var(--ui); text-decoration: none; box-shadow: 3px 3px 0 var(--shade); display: inline-flex; align-items: center; gap: 6px; }
.btn:active { transform: translate(2px,2px); box-shadow: 1px 1px 0 var(--shade); }
.btn.buy { background: var(--hi); color: var(--on-hi); }
.btn.tgl { font: 700 12px var(--mono); padding: 9px 10px; }
.btn.tgl.off { color: var(--ink3); text-decoration: line-through; box-shadow: 1px 1px 0 var(--ink3); border-color: var(--ink3); }
.btn.wallet { background: var(--ink); color: var(--paper); font: 400 15px/1 var(--head); letter-spacing: 1px; padding: 11px 14px 9px; }
.btn.wallet.on { background: var(--sheet); color: var(--ink); font: 700 13px var(--mono); padding: 10px 12px; }
.ca { border: var(--line); background: var(--sheet); padding: 7px 10px; display: flex; gap: 8px; align-items: center; font: 700 12px var(--mono); }
.ca span { background: var(--ink); color: var(--paper); padding: 1px 5px; }
.money { display: flex; border: var(--line); box-shadow: 3px 3px 0 var(--shade); background: var(--sheet); }
.money button { border: 0; border-right: 2px solid var(--ink); background: transparent; padding: 5px 11px 4px; text-align: left; display: flex; flex-direction: column; min-width: 78px; }
.money button:last-child { border-right: 0; }
.money button i { font: 700 10px var(--mono); font-style: normal; letter-spacing: 1px; color: var(--ink2); }
.money button b { font: 400 18px/1.1 var(--head); letter-spacing: .5px; }
.money button.on { background: var(--hi); color: var(--on-hi); } .money button.on i { color: var(--on-hi); }

/* ---------------------------------------------------------------- the floor (trade page) */
.floor {
  display: grid; gap: 18px; padding: 16px 20px 20px;
  grid-template-columns: 290px minmax(0, 1fr) 352px;
  grid-template-areas: "board desk slip" "pit mine fills";
  grid-template-rows: minmax(660px, calc(100vh - 150px)) auto;
}
.card { background: var(--sheet); border: var(--line); box-shadow: var(--drop); min-width: 0; position: relative; }
.card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 10px 14px 8px; border-bottom: var(--line); }
.card-head h2 { margin: 0; font: 400 22px/1 var(--head); letter-spacing: 1px; }
.hint { font: 700 12px var(--mono); color: var(--ink2); }
.board { grid-area: board; display: flex; flex-direction: column; min-height: 0; }
.desk { grid-area: desk; display: flex; flex-direction: column; min-height: 0; }
.slip { grid-area: slip; display: flex; flex-direction: column; }
.mine { grid-area: mine; min-height: 440px; display: flex; flex-direction: column; }
.fills { grid-area: fills; display: flex; flex-direction: column; max-height: 640px; }
.pit { grid-area: pit; display: flex; flex-direction: column; max-height: 640px; }

/* board */
.board-tools { padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; border-bottom: 1px dashed var(--ink3); }
#search { border: var(--line); background: var(--field); padding: 8px 10px; font: 700 14px var(--mono); width: 100%; }
#search:focus, .size-row:focus-within { outline: 3px solid var(--hi); outline-offset: 0; }
.sorts, .tfs { display: flex; gap: 5px; flex-wrap: wrap; }
.sorts button, .tfs button { border: 2px solid var(--ink); background: transparent; padding: 4px 9px; font: 700 12px var(--mono); }
.sorts button.on, .tfs button.on { background: var(--ink); color: var(--paper); }
.coins { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; min-height: 0; }
.coin { display: grid; grid-template-columns: 32px minmax(0,1fr) 44px auto; gap: 8px; align-items: center; padding: 8px 12px; border-bottom: 1px dashed var(--ink-a25); cursor: pointer; }
.coin:hover { background: var(--hi-a35); }
.coin.on { background: var(--hi); color: var(--on-hi); box-shadow: inset 5px 0 0 var(--on-hi); }
.coin img { width: 32px; height: 32px; border: 2px solid var(--ink); object-fit: cover; background: var(--img); }
.coin .s { font: 800 14px var(--ui); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.coin .m { font: 700 11px var(--mono); color: var(--ink2); }
.coin .p { text-align: right; font: 700 11px var(--mono); min-width: 64px; }
.coin .p i { display: block; font-style: normal; }
.coin .p b { padding: 0 2px; }
.coin.tick-up .p b { animation: tku .7s; } .coin.tick-down .p b { animation: tkd .7s; }
@keyframes tku { 0% { background: var(--blue-a30); } } @keyframes tkd { 0% { background: var(--red-a30); } }
.badge { font: 700 9px var(--mono); background: var(--ink); color: var(--paper); padding: 0 4px; margin-left: 4px; vertical-align: 2px; }
.badge.live { background: var(--red); }
.spk { display: block; width: 44px; height: 20px; }

/* desk */
.coin-head { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-bottom: var(--line); }
.coin-head img { width: 52px; height: 52px; border: var(--line); object-fit: cover; background: var(--img); box-shadow: 3px 3px 0 var(--shade); }
.coin-id { min-width: 0; flex: 1; }
.coin-sym { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.coin-sym b { font: 400 32px/1 var(--head); letter-spacing: .5px; }
.coin-sym span { font: 700 14px var(--mono); color: var(--ink2); }
.coin-meta { display: flex; gap: 14px; flex-wrap: wrap; font: 400 12px var(--mono); color: var(--ink2); margin-top: 4px; }
.coin-meta b { font-weight: 700; color: var(--ink); } .coin-meta b.up { color: var(--blue); } .coin-meta b.down { color: var(--red); }
.mini { border: 1px solid var(--ink3); background: transparent; font: 700 11px var(--mono); padding: 0 5px; }
.coin-px { text-align: right; }
.coin-px b { display: block; font: 700 26px var(--mono); padding: 0 4px; }
.coin-px b.up-f { animation: pxu .8s; } .coin-px b.down-f { animation: pxd .8s; }
@keyframes pxu { 0% { background: var(--blue); color: var(--on-color); } } @keyframes pxd { 0% { background: var(--red); color: var(--on-color); } }
.coin-px span { font: 700 11px var(--mono); color: var(--ink2); }
.swap { display: none; border: var(--line); background: var(--hi); color: var(--on-hi); font: 400 15px/1 var(--head); letter-spacing: 1px; padding: 8px 9px; box-shadow: 2px 2px 0 var(--shade); }
.chart-bar { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border-bottom: 1px dashed var(--ink3); flex-wrap: wrap; }
.tog { font: 700 12px var(--mono); display: flex; align-items: center; gap: 5px; cursor: pointer; }
.tog input { accent-color: var(--ink); width: 15px; height: 15px; }
.links { display: flex; gap: 12px; font: 700 12px var(--mono); margin-left: auto; }
.chart-wrap { position: relative; flex: 1; min-height: 320px; }
#chart { position: absolute; inset: 0; }
.c-legend { position: absolute; left: 12px; top: 8px; z-index: 3; font: 700 12px var(--mono); color: var(--ink2); pointer-events: none; display: flex; gap: 12px; flex-wrap: wrap; background: var(--sheet-a85); padding: 2px 6px; }
.c-legend b { color: var(--ink); }
.c-mark { position: absolute; left: 50%; top: 46%; transform: translate(-50%, -50%) rotate(-6deg); font: 400 clamp(60px, 9vw, 150px)/1 var(--head); color: var(--red-a06); border: .06em solid var(--red-a06); padding: 0 .15em; pointer-events: none; z-index: 2; white-space: nowrap; }
.danger-ring { position: absolute; inset: 0; pointer-events: none; z-index: 4; border: 0 solid var(--red); }
.chart-wrap.danger .danger-ring { border-width: 6px; animation: dring .6s infinite; }
@keyframes dring { 50% { border-color: transparent; } }
.liq-meter { position: absolute; right: 90px; top: 8px; z-index: 5; background: var(--red); color: var(--on-color); font: 700 12px var(--mono); padding: 4px 9px; display: none; }
.chart-wrap.danger .liq-meter { display: block; }

/* slip */
.slip.degen { box-shadow: 5px 5px 0 var(--red); }
.slip.degen .card-head h2::after { content: " · DEGEN MODE"; color: var(--red); }
.sides { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px 14px 4px; }
.side { border: var(--line); background: var(--sheet); padding: 10px 8px 8px; text-align: center; box-shadow: 3px 3px 0 var(--shade); transition: transform .08s; }
.side span { display: block; font: 400 30px/1 var(--head); letter-spacing: 1px; }
.side i { font: 700 11px var(--mono); font-style: normal; color: var(--ink2); }
.side.long.on { background: var(--blue); color: var(--on-color); } .side.short.on { background: var(--red); color: var(--on-color); }
.side.on i { color: var(--on-color); opacity: .85; }
.side:active { transform: translate(2px,2px); box-shadow: 1px 1px 0 var(--shade); }
.field { display: block; padding: 12px 14px 0; }
.field > span, .lev-top span { font: 700 12px var(--mono); letter-spacing: .5px; }
.field em { font-style: normal; color: var(--ink2); }
.size-row { display: flex; border: var(--line); background: var(--field); margin-top: 5px; }
.size-row input { border: 0; background: transparent; padding: 9px 6px; font: 700 22px var(--mono); width: 100%; min-width: 0; }
.size-row input:focus { outline: none; }
.unit { font: 700 13px var(--mono); padding: 0 10px; display: flex; align-items: center; border-left: 2px solid var(--ink); background: var(--paper); }
.unit.pre { border-left: 0; background: transparent; font: 700 22px var(--mono); padding: 0 0 0 10px; color: var(--ink2); }
.chips { display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; margin-top: 7px; }
.chips button { border: 2px solid var(--ink); background: transparent; font: 700 11px var(--mono); padding: 4px 0; }
.chips button:hover { background: var(--hi); color: var(--on-hi); }
.lev { padding: 12px 14px 0; }
.lev-top { display: flex; align-items: baseline; justify-content: space-between; }
.lev-top b { font: 400 50px/1 var(--head); letter-spacing: 1px; }
.slip.degen .lev-top b { color: var(--red); animation: jitter .12s infinite; }
@keyframes jitter { 25% { transform: translate(1px,-1px) rotate(.6deg); } 75% { transform: translate(-1px,1px) rotate(-.6deg); } }
#lev { width: 100%; margin: 6px 0 2px; accent-color: var(--ink); height: 26px; }
.lev-stops { display: flex; justify-content: space-between; font: 700 10px var(--mono); color: var(--ink2); padding: 0 2px; }
.lev-stops span { cursor: pointer; } .lev-stops span.on { color: var(--ink); text-decoration: underline 2px; }
.payoff { margin: 12px 14px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.po { border: 2px solid var(--ink); padding: 6px 8px; background: var(--field); }
.po span { display: block; font: 700 11px var(--mono); color: var(--ink2); }
.po b { font: 400 21px/1.1 var(--head); letter-spacing: .5px; }
.po.good b { color: var(--blue); } .po.bad { background: repeating-linear-gradient(-45deg, var(--field) 0 6px, var(--red-wash) 6px 12px); } .po.bad b { color: var(--red); }
.facts { margin: 10px 14px 0; display: grid; grid-template-columns: 1fr 1fr; border: 2px dashed var(--ink3); }
.facts div { padding: 6px 8px; border-bottom: 1px dashed var(--ink3); }
.facts div:nth-child(odd) { border-right: 1px dashed var(--ink3); }
.facts div:nth-last-child(-n+2) { border-bottom: 0; }
.facts dt { font: 700 10px var(--mono); text-transform: uppercase; color: var(--ink2); }
.facts dd { margin: 1px 0 0; font: 700 13px var(--mono); }
.print {
  margin: 12px 14px 0; padding: 14px; border: var(--line); background: var(--ink); color: var(--paper); font: 400 30px/1 var(--head); letter-spacing: 2px;
  box-shadow: 5px 5px 0 var(--blue); transition: transform .06s; display: flex; align-items: center; justify-content: center; gap: 10px;
}
.print small { font: 700 10px var(--mono); letter-spacing: 1px; border: 1px solid var(--print-rule); padding: 1px 4px; color: var(--print-dim); }
.print.short { box-shadow: 5px 5px 0 var(--red); }
.print:hover { background: var(--ink-deep); }
.print:active, .print.kick { transform: translate(4px,4px); box-shadow: 1px 1px 0 var(--shade); }
.err { min-height: 18px; margin: 6px 14px 12px; font: 700 12px var(--mono); color: var(--red); }

/* your tickets: the printer (drawn) → receipts → the shredder (drawn) */
.printer { display: flex; align-items: flex-end; gap: 14px; padding: 12px 14px 0; }
.printer .pict { width: 150px; height: 92px; flex: none; }
.printer p { margin: 0 0 10px; font: 700 13px var(--mono); color: var(--ink2); }
body.printing .printer .pict { animation: rattle .07s 9; }
@keyframes rattle { 50% { transform: translate(1px,-1px) rotate(-.8deg); } }
.tickets { display: flex; gap: 16px; padding: 0 14px 18px 30px; overflow-x: auto; min-height: 250px; align-items: flex-start; flex: 1; }
.tickets .empty { font: 700 14px var(--mono); color: var(--ink2); line-height: 1.6; padding: 26px 0 0; }
.receipt {
  --zig: 8px; flex: 0 0 214px; background: var(--white); padding: 12px 12px 20px; font: 400 13px var(--mono); position: relative;
  filter: drop-shadow(3px 3px 0 var(--receipt-drop));
  -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(var(--zig) * 2) 100%;
  mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / calc(var(--zig) * 2) 100%;
  transform-origin: top center; animation: printOut .9s steps(12, end);
}
@keyframes printOut { from { clip-path: inset(0 0 100% 0); transform: translateY(-14px); } to { clip-path: inset(0 0 0 0); } }
.receipt .r-top { display: flex; justify-content: space-between; align-items: baseline; }
.receipt .r-sym { font: 400 24px/1 var(--head); letter-spacing: .5px; cursor: pointer; }
.receipt .r-side { font-weight: 700; padding: 1px 6px; color: var(--on-color); font-size: 12px; }
.receipt .r-side.l { background: var(--blue); } .receipt .r-side.s { background: var(--red); }
.receipt .r-no { font-size: 11px; color: var(--ink3); border-bottom: 1px dashed var(--ink3); padding: 3px 0 6px; }
.receipt dl { margin: 8px 0 0; display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; }
.receipt dt { color: var(--ink2); } .receipt dd { margin: 0; text-align: right; font-weight: 700; }
.r-heat { height: 12px; margin: 9px 0 2px; position: relative; border: 1.5px solid var(--ink); background: repeating-linear-gradient(90deg, var(--field) 0 5px, var(--rule-paper) 5px 6px); }
.r-heat i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--red); width: 0; transition: width .3s; }
.r-heat span { position: absolute; right: 3px; top: -1px; font: 700 8px var(--mono); letter-spacing: 1px; color: var(--ink2); }
.receipt .r-pnl { margin-top: 8px; padding-top: 6px; border-top: 1px dashed var(--ink3); text-align: center; }
.receipt .r-pnl b { display: block; font: 400 32px/1 var(--head); letter-spacing: .5px; }
.receipt .r-pnl span { font-weight: 700; font-size: 12px; }
.receipt .r-close { margin-top: 9px; width: 100%; border: var(--line); background: var(--hi); color: var(--on-hi); padding: 7px; font: 400 18px/1 var(--head); letter-spacing: 1px; }
.receipt .r-close:active { transform: translate(1px,1px); }
.receipt.filling, .receipt.closing { opacity: .75; }
.receipt.danger { animation: danger .45s infinite; }
@keyframes danger { 50% { background: var(--danger-wash); transform: rotate(-.6deg); } }
.receipt.fly { transition: transform .6s cubic-bezier(.5,-0.4,.7,1), opacity .6s; transform: translateY(-80px) rotate(-12deg); opacity: 0; }
.shred { flex: 0 0 auto; position: relative; pointer-events: none; }
.shred i { position: absolute; top: 0; height: 100%; background: var(--white); border-left: 1px solid var(--ink-a18); animation: strip 1.2s cubic-bezier(.5,0,.75,0) forwards; }
@keyframes strip { 0% { transform: translateY(0); } 100% { transform: translateY(calc(100% + 120px)) rotate(var(--r)); opacity: 0; } }
.shredder { position: relative; margin: 0 14px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; border-bottom: 10px solid var(--ink); }
.shredder span { font: 700 11px var(--mono); letter-spacing: 3px; color: var(--ink2); padding-bottom: 6px; }
.shredder .pict { width: 150px; height: 84px; flex: none; transform-origin: bottom; }
.shredder.eat .pict { animation: chomp .12s 10; }
@keyframes chomp { 50% { transform: scaleY(.9) translateY(3px); } }
.spike-wrap { margin-top: 18px; border-top: var(--line); padding: 8px 14px 12px; }
.spike-wrap h3 { margin: 0 0 6px; font: 400 16px var(--head); letter-spacing: 1px; } .spike-wrap h3 span { font: 700 11px var(--mono); color: var(--ink2); letter-spacing: 0; }
.spike { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.spike li { font: 700 12px var(--mono); border: 1.5px solid var(--ink); padding: 3px 7px; background: var(--white); cursor: pointer; transform: rotate(var(--rot, 0deg)); }
.spike li:nth-child(3n) { --rot: -1.5deg; } .spike li:nth-child(3n+1) { --rot: 1deg; }
.spike li:hover { background: var(--hi); color: var(--on-hi); }
.spike li.liq b { color: var(--red); } .spike li.liq { text-decoration: line-through; text-decoration-color: var(--red); }
.spike li.win b { color: var(--blue); } .spike li.none { cursor: default; border-style: dashed; color: var(--ink3); }

/* live fills */
.fills-sum { padding: 10px 14px; border-bottom: 1px dashed var(--ink3); }
.bs { height: 14px; background: var(--red); border: 2px solid var(--ink); position: relative; }
.bs i { position: absolute; left: 0; top: 0; bottom: 0; background: var(--blue); transition: width .6s; }
.bs-l { display: flex; justify-content: space-between; font: 700 11px var(--mono); margin-top: 5px; color: var(--ink2); }
.fill-list { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; }
.fill-list li { display: grid; grid-template-columns: 38px 58px 1fr auto 34px; gap: 6px; align-items: center; padding: 5px 12px; font: 700 12px var(--mono); border-bottom: 1px dotted var(--ink-a20); position: relative; }
.fill-list li::before { content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: var(--w); opacity: .13; }
.fill-list li.buy::before { background: var(--blue); } .fill-list li.sell::before { background: var(--red); }
.fill-list li.buy .k { color: var(--blue); } .fill-list li.sell .k { color: var(--red); }
.fill-list li.new { animation: fillIn .8s; }
@keyframes fillIn { 0% { background: var(--hi); color: var(--on-hi); transform: translateX(10px); } }
.fill-list .pr { color: var(--ink2); font-weight: 400; overflow: hidden; text-overflow: ellipsis; }
.fill-list .w { color: var(--ink3); text-decoration: none; font-weight: 400; } .fill-list .w:hover { color: var(--ink); text-decoration: underline; }
.fill-list .t { color: var(--ink3); text-align: right; font-weight: 400; }

/* pit */
.pit-list { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1; }
.pit-list li { display: grid; grid-template-columns: 1fr auto; gap: 1px 8px; padding: 7px 14px; border-bottom: 1px dashed var(--ink-a25); font: 400 13px var(--mono); animation: slideIn .35s; cursor: pointer; }
.pit-list li:hover { background: var(--hi-a30); }
.pit-list .w { color: var(--ink2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pit-list .r { text-align: right; font-weight: 700; }
.pit-list .d { grid-column: 1 / -1; font-weight: 700; }
.pit-list li.liq .r, .pit-list li.liq .d { color: var(--red); } .pit-list li.win .r { color: var(--blue); }
.pit-list li.me { background: var(--hi-a55); }
.pit-list li.liq .d::before { content: "✂ "; }
@keyframes slideIn { from { transform: translateX(14px); opacity: 0; } }

.foot { display: flex; justify-content: space-between; gap: 12px; padding: 4px 20px 26px; font: 700 12px var(--mono); color: var(--ink2); flex-wrap: wrap; }
.feed { color: var(--blue); } .feed.off { color: var(--red); }

/* ---------------------------------------------------------------- danger + big moments (always on; prefers-reduced-motion tones them down) */
body.in-danger::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 40; box-shadow: inset 0 0 0 10px var(--red-a55); animation: beat .9s infinite; }   /* a hard ink frame that beats, no blur (GK: no glow) */
@keyframes beat { 0%, 100% { opacity: .55; } 12% { opacity: 1; } 30% { opacity: .6; } 42% { opacity: .9; } }
#fxc { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 49; }
.fx { position: fixed; inset: 0; pointer-events: none; display: grid; place-items: center; z-index: 50; }
.flash { position: fixed; inset: 0; pointer-events: none; z-index: 48; animation: flash .45s forwards; }
@keyframes flash { to { opacity: 0; } }
.big-stamp {
  position: relative; font: 400 clamp(64px, 14vw, 190px)/1 var(--head); letter-spacing: 4px; padding: .06em .2em 0; border: .07em solid currentColor; border-radius: .06em;
  mix-blend-mode: var(--blend); text-align: center; animation: slam .9s cubic-bezier(.2,1.6,.4,1) forwards, fade 2s 1.1s forwards; background: var(--sheet-a35);
}
.big-stamp small { display: block; font: 700 clamp(16px, 2.6vw, 30px)/1.2 var(--mono); letter-spacing: 0; padding-bottom: .3em; }
.big-stamp.liq { color: var(--red); --rot: -9deg; }
.big-stamp.win { color: var(--blue); --rot: 6deg; }
.big-stamp.mega { color: var(--red); --rot: -5deg; font-size: clamp(90px, 22vw, 300px); }
@keyframes slam { 0% { transform: scale(3) rotate(var(--rot)); opacity: 0; } 60% { transform: scale(.94) rotate(var(--rot)); opacity: 1; } 100% { transform: scale(1) rotate(var(--rot)); opacity: 1; } }
@keyframes fade { to { opacity: 0; } }
body.shake .floor, body.shake main { animation: shake .45s; }
@keyframes shake { 15% { transform: translate(-8px, 3px); } 30% { transform: translate(7px, -4px); } 45% { transform: translate(-4px, 2px); } 60% { transform: translate(3px, -1px); } }
.toasts { position: fixed; right: 18px; bottom: 18px; display: flex; flex-direction: column; gap: 8px; z-index: 60; }
.toast { background: var(--hi); color: var(--on-hi); border: var(--line); box-shadow: 3px 3px 0 var(--shade); padding: 9px 13px; font: 700 13px var(--mono); max-width: 320px; animation: slideIn .3s; transform: rotate(-1deg); }
.toast.bad { background: var(--red); color: var(--on-color); }

/* ---------------------------------------------------------------- modals */
.modal { position: fixed; inset: 0; background: var(--scrim); z-index: 70; display: grid; place-items: center; padding: 16px; animation: fadeIn .2s; }
@keyframes fadeIn { from { opacity: 0; } }
.sheet { background: var(--sheet); border: var(--line); box-shadow: 8px 8px 0 var(--shade); padding: 22px; width: min(560px, 100%); max-height: calc(100vh - 32px); overflow: auto; position: relative; animation: sheetIn .3s cubic-bezier(.2,1.4,.4,1); }
.sheet.narrow { width: min(460px, 100%); } .sheet.wide { width: min(940px, 100%); }
@keyframes sheetIn { from { transform: translateY(30px) rotate(-1deg); opacity: 0; } }
.sheet h3 { margin: 0 0 6px; font: 400 32px/1 var(--head); letter-spacing: 1px; }
.sheet .x { position: absolute; right: 12px; top: 10px; border: 0; background: transparent; font: 700 20px var(--mono); }
.lede { font: 700 14px var(--mono); color: var(--ink2); margin: 0 0 14px; }
.fine { font: 400 12px var(--mono); color: var(--ink2); margin: 12px 0 0; }
.note { font: 700 13px var(--mono); background: var(--hi); color: var(--on-hi); border: 2px solid var(--ink); padding: 10px 12px; margin: 14px 0 0; }
.wl { display: grid; gap: 8px; }
.wl button, .wl a { display: flex; align-items: center; gap: 10px; border: var(--line); background: var(--card2); padding: 10px 12px; font: 800 15px var(--ui); text-decoration: none; box-shadow: 3px 3px 0 var(--shade); }
.wl button:hover, .wl a:hover { background: var(--hi); color: var(--on-hi); }
.wl img, .wl .dot { width: 26px; height: 26px; border-radius: 6px; } .wl .dot { background: var(--ink3); }
.big-btn { display: block; width: 100%; margin-top: 14px; border: var(--line); background: var(--ink); color: var(--paper); font: 400 24px/1 var(--head); letter-spacing: 1.5px; padding: 14px; text-align: center; text-decoration: none; box-shadow: 4px 4px 0 var(--red); }
.big-btn.ghost { background: var(--sheet); color: var(--ink); box-shadow: 4px 4px 0 var(--shade); }
.cash-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cash-card { border: var(--line); background: var(--card2); padding: 10px; }
.cash-card i { font: 400 22px var(--head); font-style: normal; letter-spacing: 1px; }
.cash-card dl { margin: 6px 0; display: grid; grid-template-columns: auto 1fr; gap: 2px 8px; font: 400 12px var(--mono); }
.cash-card dd { margin: 0; text-align: right; font-weight: 700; }
.cash-row { display: grid; grid-template-columns: 1fr; gap: 6px; }
.cash-row input { border: 2px solid var(--ink); padding: 7px; font: 700 15px var(--mono); background: var(--field); }
.cash-row button { border: 2px solid var(--ink); background: var(--hi); color: var(--on-hi); font: 400 15px var(--head); letter-spacing: 1px; padding: 7px; }
.cash-row button:disabled { background: var(--disabled); color: var(--ink3); cursor: not-allowed; }
.comic { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.panel { border: var(--line); background: var(--card2); padding: 12px; display: flex; flex-direction: column; gap: 6px; box-shadow: 4px 4px 0 var(--shade); }
.panel:nth-child(2) { transform: rotate(1deg); } .panel:nth-child(3) { transform: rotate(-1deg); }
.panel .pict { width: 100%; aspect-ratio: 5 / 3; }
.panel b { font: 400 22px/1 var(--head); letter-spacing: 1px; }
.panel span { font: 700 13px var(--mono); color: var(--ink2); }
.share-img { width: 100%; border: var(--line); display: block; margin-top: 8px; }
.share-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* ---------------------------------------------------------------- the other pages */
.page { max-width: 1240px; margin: 0 auto; padding: 22px 20px 40px; }
.np { background: var(--white); border: var(--line); box-shadow: 8px 8px 0 var(--shade); padding: 22px 28px 28px; position: relative; }
.np-mast { text-align: center; border-bottom: 4px double var(--ink); padding-bottom: 10px; }
.np-mast h1 { margin: 0; font: 400 clamp(46px, 9vw, 112px)/.9 var(--head); letter-spacing: 2px; }
.np-line { display: flex; justify-content: space-between; gap: 10px; font: 700 12px var(--mono); border-bottom: 2px solid var(--ink); padding: 6px 0; text-transform: uppercase; flex-wrap: wrap; }
.headline { font: 400 clamp(30px, 5vw, 64px)/1 var(--head); letter-spacing: 1px; margin: 18px 0 6px; text-transform: uppercase; }
.headline .red { color: var(--red); } .headline a { text-decoration: none; border-bottom: 4px solid var(--hi); }
.deck { font: 700 16px var(--mono); color: var(--ink2); margin: 0 0 16px; }
.np-cols { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 0; border-top: 2px solid var(--ink); }
.np-col { padding: 12px 16px; border-right: 1px solid var(--ink); min-width: 0; }
.np-col:first-child { padding-left: 0; } .np-col:last-child { border-right: 0; padding-right: 0; }
.np-col h4 { margin: 0 0 8px; font: 400 22px/1 var(--head); letter-spacing: 1px; border-bottom: 2px solid var(--ink); padding-bottom: 6px; }
.np-list { list-style: none; margin: 0; padding: 0; counter-reset: n; }
.np-list li { counter-increment: n; display: grid; grid-template-columns: 26px 1fr auto; gap: 8px; align-items: baseline; padding: 7px 0; border-bottom: 1px dotted var(--ink3); font: 400 14px var(--mono); }
.np-list li::before { content: counter(n); font: 400 20px var(--head); }
.np-list li b { font-weight: 700; } .np-list li .amt { font-weight: 700; }
.np-list a { text-decoration: none; } .np-list a:hover { text-decoration: underline; }
.np-pict { float: right; width: 40%; max-width: 340px; aspect-ratio: 5 / 3; margin: 0 0 8px 16px; }
.np-story { font: 400 15px/1.55 var(--mono); }
.np-story p:first-child::first-letter { font: 400 54px/.8 var(--head); float: left; margin: 6px 8px 0 0; }
.np-empty { font: 400 14px var(--mono); color: var(--ink3); padding: 10px 0; }
.stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 16px 0; }
.stat { border: var(--line); background: var(--white); box-shadow: 4px 4px 0 var(--shade); padding: 12px 14px; }
.stat i { display: block; font: 700 11px var(--mono); font-style: normal; color: var(--ink2); text-transform: uppercase; letter-spacing: .5px; }
.stat b { font: 400 34px/1.1 var(--head); letter-spacing: .5px; }
.stat small { display: block; font: 700 12px var(--mono); color: var(--ink2); }
.desk-grid { display: grid; grid-template-columns: 1fr 340px; gap: 18px; align-items: start; }
.hist { width: 100%; border-collapse: collapse; font: 400 13px var(--mono); }
.hist th { text-align: left; font: 700 11px var(--mono); text-transform: uppercase; color: var(--ink2); border-bottom: 2px solid var(--ink); padding: 6px 8px; }
.hist td { padding: 7px 8px; border-bottom: 1px dotted var(--ink3); }
.hist tr.liq td { color: var(--red); } .hist tr.win td .amt { color: var(--blue); font-weight: 700; } .hist tr.liq td .amt { font-weight: 700; }
.hist tr { cursor: pointer; } .hist tr:hover td { background: var(--hi-a35); }
.name-row { display: flex; gap: 8px; margin-top: 8px; }
.name-row input { flex: 1; border: var(--line); padding: 8px; font: 700 15px var(--mono); min-width: 0; background: var(--field); }
.name-row button { border: var(--line); background: var(--hi); color: var(--on-hi); font: 400 16px var(--head); letter-spacing: 1px; padding: 0 12px; }
.vault { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 18px 0; }
.vault-box { border: var(--line); background: var(--ink); color: var(--paper); padding: 18px 20px; box-shadow: 6px 6px 0 var(--red); position: relative; overflow: hidden; }
.vault-box.usdc { background: var(--blue); box-shadow: 6px 6px 0 var(--shade); }
.vault-box i { font: 700 12px var(--mono); font-style: normal; letter-spacing: 2px; opacity: .8; }
.vault-box b { display: block; font: 400 clamp(46px, 7vw, 84px)/1 var(--head); letter-spacing: 1px; margin: 6px 0; }
.vault-box small { font: 700 12px var(--mono); opacity: .85; }
.flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 22px 0; }
.flow div { border: var(--line); background: var(--white); padding: 12px; position: relative; box-shadow: 4px 4px 0 var(--shade); }
.flow div:not(:last-child)::after { content: "→"; position: absolute; right: -16px; top: 50%; transform: translateY(-50%); font: 400 22px var(--head); }
.flow b { display: block; font: 400 20px/1.05 var(--head); letter-spacing: .5px; margin-bottom: 4px; }
.flow span { font: 700 13px var(--mono); color: var(--ink2); }
.flow em { font-style: normal; background: var(--hi); color: var(--on-hi); padding: 0 3px; }
.rule-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rule-list li { border: var(--line); background: var(--white); padding: 14px; box-shadow: 4px 4px 0 var(--shade); }
.rule-list b { display: block; font: 400 22px/1.05 var(--head); letter-spacing: .5px; margin-bottom: 6px; }
.rule-list span { font: 400 14px/1.5 var(--mono); }
.rule-list em { font-style: normal; background: var(--hi); color: var(--on-hi); padding: 0 3px; font-weight: 700; }
.faq details { border-bottom: 2px solid var(--ink); padding: 12px 0; }
.faq summary { font: 400 21px var(--head); letter-spacing: .5px; cursor: pointer; list-style: none; }
.faq summary::before { content: "+ "; color: var(--red); } .faq details[open] summary::before { content: "− "; }
.faq p { font: 400 14px/1.6 var(--mono); margin: 8px 0 0; max-width: 760px; }
.section-h { font: 400 32px/1 var(--head); letter-spacing: 1px; margin: 34px 0 14px; display: flex; align-items: center; gap: 12px; }
.section-h::after { content: ""; flex: 1; height: 3px; background: var(--ink); }
.cta-row { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; }
.cta-row .big-btn { width: auto; margin: 0; padding: 14px 22px; }
.side-pict { width: 100%; aspect-ratio: 5 / 3; }

/* ---------------------------------------------------------------- smaller screens */
@media (max-width: 1280px) {
  .floor { grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "desk slip" "mine fills" "board pit"; grid-template-rows: minmax(620px, calc(100vh - 150px)) auto auto; }
  .board { max-height: 560px; } .pit { max-height: 560px; }
}
@media (max-width: 900px) {
  .mast { gap: 10px; } .mast-right { margin-left: 0; width: 100%; } .money { flex: 1; } .money button { flex: 1; min-width: 0; }
  .nav { order: 3; width: 100%; overflow-x: auto; flex-wrap: nowrap; } .nav a { white-space: nowrap; font-size: 15px; }
  .np-cols { grid-template-columns: 1fr; } .np-col { border-right: 0; padding: 12px 0; border-bottom: 1px solid var(--ink); }
  .stat-grid { grid-template-columns: 1fr 1fr; } .desk-grid { grid-template-columns: 1fr; } .flow { grid-template-columns: 1fr 1fr; } .flow div::after { display: none; }
  .rule-list { grid-template-columns: 1fr; } .vault { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .mast { padding: 10px 14px; } .stamp { font-size: 30px; }
  .ca, #xBtn { display: none; }
  .floor { padding: 12px 14px 16px; grid-template-columns: minmax(0, 1fr); grid-template-areas: "desk" "slip" "mine" "fills" "board" "pit"; grid-template-rows: auto; gap: 16px; }
  .desk { height: 500px; } .board { max-height: 460px; } .pit, .fills { max-height: 420px; }
  .coin-head { gap: 9px; padding: 9px 10px; } .coin-head img { width: 40px; height: 40px; }
  .coin-sym b { font-size: 24px; } .coin-sym span, #cCa { display: none; } .coin-px b { font-size: 17px; } .coin-meta { gap: 8px; } .coin-meta span:nth-child(n+3) { display: none; }
  .swap { display: block; } .links { display: none; }
  .chips { grid-template-columns: repeat(3, 1fr); }
  .receipt, .shred { flex-basis: 196px; } .tickets { padding-left: 14px; }
  .printer .pict, .shredder .pict { width: 110px; height: 68px; }
  .comic { grid-template-columns: 1fr; } .panel:nth-child(n) { transform: none; }
  .share-row, .cash-grid { grid-template-columns: 1fr; }
  .np { padding: 16px; } .np-pict { float: none; width: 100%; margin: 0 0 8px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
