:root{--bg:#101214;--panel:#14181b;--key:#1a1e22;--line:#23282d;--line-soft:#1b1f23;--line-key:#3a4148;--text:#d8dce0;--muted:#8b949c;--dim:#5d666e;--amber:#ffb000;--amber-edge:#c78900;--up:#3ddc84;--down:#ff6b6b;--select:#4cc9f0;--select-bg:#0e2a33;--font-data:"JetBrains Mono", ui-monospace, Consolas, monospace;--font-label:"Barlow Condensed", "Arial Narrow", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-data);margin:0;font-size:13px;line-height:1.4}.shell{flex-direction:column;gap:8px;max-width:640px;min-height:100dvh;margin:0 auto;padding:0 8px;display:flex}.ticker{margin:0 -8px}.chart,.bag,.log{display:none}.dock{padding-bottom:calc(8px + env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;gap:8px;display:flex;position:sticky;bottom:0}@media (width>=600px){.shell{gap:8px;max-width:none;height:100dvh;padding:0 8px 8px;display:grid}.ticker{grid-area:ticker}.top{grid-area:top}.money{grid-area:money}.status{grid-area:status}.chart{grid-area:chart;display:block}.bag{grid-area:bag;display:block;overflow-y:auto}.log{grid-area:log;display:flex}.market{grid-area:market;overflow-y:auto}.dock{display:contents}.trade{grid-area:trade}.actions{grid-area:actions}}@media (width>=600px) and (width<=1023px){.shell{grid-template:"ticker ticker""top top""market chart""market money""market status""market bag"minmax(0,auto)"market log"minmax(0,1fr)"trade log""actions actions"/330px minmax(0,1fr);min-height:620px}}@media (width>=1024px){.shell{grid-template:"ticker ticker ticker""top top top""status status status""market chart log""market money log""market trade log""market bag log"minmax(0,1fr)"actions actions actions"/minmax(420px,560px) minmax(290px,400px) minmax(220px,1fr);max-width:1500px;min-height:640px;margin:0 auto;padding:0 16px 8px}.ticker{margin:0 -16px}}@media (vertical-viewport-segments:2){.shell{--upper:env(viewport-segment-bottom 0 0,50dvh);--lower:env(viewport-segment-top 0 1,50dvh);grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"ticker ticker ticker""top top top""chart money log""chart status log""chart bag log""fold fold fold""market market trade""market market actions";grid-template-rows:26px 38px 58px 24px calc(var(--upper) - 26px - 38px - 58px - 24px - 24px) calc(var(--lower) - var(--upper) - 12px) minmax(0, 1fr) auto;gap:6px;max-width:none;min-height:0;padding:0 8px 6px}.status{white-space:nowrap;overflow:hidden}}:focus-visible{outline:2px solid var(--select);outline-offset:1px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.label{color:var(--muted);font-family:var(--font-label);letter-spacing:1.5px;text-transform:uppercase;font-size:13px;font-weight:500}.ticker{background:var(--panel);border-bottom:1px solid var(--line);white-space:nowrap;height:26px;font-size:12px;line-height:25px;overflow:hidden}.ticker-track{animation:ticker-move var(--ticker-time,30s) linear infinite;display:inline-block}.ticker-item{color:var(--muted);padding:0 18px}.ticker-item[data-tone=good]{color:var(--up)}.ticker-item[data-tone=bad]{color:var(--down)}@keyframes ticker-move{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}.top{flex-wrap:wrap;align-items:center;gap:4px 16px;display:flex}.logo{color:var(--amber);font-family:var(--font-label);letter-spacing:3px;margin:0;font-size:22px;font-weight:600}.facts{flex-wrap:wrap;flex:1;gap:2px 14px;margin:0;display:flex}.facts div{align-items:baseline;gap:6px;display:flex}.facts dt{color:var(--muted);font-family:var(--font-label);letter-spacing:1.5px;text-transform:uppercase;font-size:13px}.facts dd{font-variant-numeric:tabular-nums;margin:0}@media (width<=599px){.logo{flex:1}.facts{flex-basis:100%;order:1;justify-content:space-between}}.money{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);padding:6px 10px}.tile strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:16px;font-weight:700;display:block}.amount-cash{color:var(--amber)}.amount-debt{color:var(--down)}.status{min-height:19px}.status p,.fight-log p{color:var(--muted);margin:0}.status p:before{content:"> ";color:var(--amber)}.status [data-tone=good],.fight-log [data-tone=good]{color:var(--up)}.status [data-tone=bad],.fight-log [data-tone=bad]{color:var(--down)}.panel{background:var(--bg);border:1px solid var(--line)}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:30px;padding:0 10px;display:flex}.market-table{border-collapse:collapse;width:100%}.market-table th{border-bottom:1px solid var(--line);height:28px;color:var(--muted);font-family:var(--font-label);letter-spacing:1.5px;text-align:right;text-transform:uppercase;padding:0 10px;font-size:13px;font-weight:500}.market-table th:first-child{text-align:left}.market-table td{border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;height:34px;padding:0 10px}.market-table td:first-child{text-align:left;padding:0}.market-table tbody tr{cursor:pointer}.market-table tr[aria-selected=true]{background:var(--select-bg);box-shadow:inset 3px 0 0 var(--select)}.market-table tr.is-unlisted td{color:var(--dim)}.row-button{width:100%;height:100%;min-height:34px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0 10px;font-weight:600;display:block}.change-up{color:var(--up)}.change-down{color:var(--down)}.market-table tr.flash-up{animation:1s ease-out flash-up}.market-table tr.flash-down{animation:1s ease-out flash-down}@keyframes flash-up{0%{background:color-mix(in srgb, var(--up) 35%, transparent)}}@keyframes flash-down{0%{background:color-mix(in srgb, var(--down) 35%, transparent)}}@media (prefers-reduced-motion:reduce){.market-table tr.flash-up,.market-table tr.flash-down{animation:none}}.spark{width:56px;height:16px;margin-left:auto;display:block}.spark polyline{fill:none;stroke-width:1.5px}.spark-up polyline{stroke:var(--up)}.spark-down polyline{stroke:var(--down)}.spark-flat polyline{stroke:var(--dim)}.col-supply,.col-spark{display:none}@media (width<=599px){.market-table th,.market-table td,.row-button{padding:0 6px}}@media (width>=360px) and (width<=599px),(width>=1024px){.col-spark{display:table-cell}}@media (width>=1024px){.col-supply{display:table-cell}}@media (vertical-viewport-segments:2){.market>.panel-head,.market-table thead,.market-table tr.is-unlisted,.market-table .col-change,.market-table .col-spark,.market-table .col-supply{display:none}.market-table,.market-table tbody{display:block}.market-table tbody{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;padding:4px;display:grid}.market-table tr{background:var(--panel);border:1px solid var(--line);display:block}.market-table td,.market-table td:first-child{text-align:left;border:0;height:auto;padding:0 4px;font-size:11px;display:block}.row-button{min-height:26px;padding:0;font-size:11px;overflow:hidden}.actions .key{letter-spacing:.5px;white-space:nowrap;font-size:14px}}@media (pointer:coarse){.market-table td{height:44px}.row-button{min-height:44px}}.key{background:var(--key);border:1px solid var(--line-key);min-height:44px;color:var(--text);cursor:pointer;font-family:var(--font-label);letter-spacing:1.5px;text-transform:uppercase;border-bottom-width:3px;border-radius:0;padding:0 12px;font-size:16px;font-weight:600}.key:hover:not(:disabled){border-color:var(--muted)}.key kbd{border:1px solid var(--line-key);color:var(--muted);font-family:var(--font-data);margin-right:6px;padding:0 4px;font-size:11px;display:none}.key-main kbd{border-color:var(--bg);color:var(--bg)}@media (hover:hover) and (pointer:fine) and (width>=1024px){.key kbd{display:inline-block}}.key:disabled{color:var(--dim);cursor:not-allowed}.key-main{background:var(--amber);border-color:var(--amber-edge);color:var(--bg)}.key-main:hover:not(:disabled){border-color:var(--text)}.key-small{min-height:32px;font-size:14px}@media (pointer:coarse){.key-small{min-height:44px}}.trade-body{flex-direction:column;gap:6px;padding:8px;display:flex}.panel-row{flex-wrap:wrap;justify-content:space-between;gap:0 12px;display:flex}.trade-title{color:var(--text);text-transform:uppercase;font-weight:600}.quantity{grid-template-columns:44px minmax(0,1fr) 44px auto;gap:6px;display:grid}.quantity input{background:var(--panel);border:1px solid var(--line-key);width:100%;min-height:44px;color:var(--select);font:inherit;font-variant-numeric:tabular-nums;text-align:center;border-radius:0;font-size:16px;font-weight:700}.trade-keys{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.reason{min-height:18px;color:var(--muted);margin:0;font-size:12px}.actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.actions .key{padding:0 4px}.only-wide{display:none}@media (width>=600px){.only-wide{display:block}.only-narrow{display:none}}.chart-svg{width:100%;height:auto;display:block}.chart-band{fill:var(--panel)}.chart-mean{stroke:var(--dim);stroke-dasharray:4 4;stroke-width:1px}.chart-line{fill:none;stroke:var(--amber);stroke-width:1.5px}.chart-point{fill:var(--bg);stroke:var(--amber);stroke-width:1px}.chart-point-last{fill:var(--amber)}.chart-label{fill:var(--muted);font-family:var(--font-data);font-size:10px}.log{flex-direction:column;min-height:0}.log-lines{flex:1;min-height:0;margin:0;padding:6px 10px;font-size:12px;list-style:none;overflow-y:auto}.log-dialog{max-height:60dvh;padding:0}.log-lines li{color:var(--muted);margin:0 0 2px}.log-lines li[data-tone=good]{color:var(--up)}.log-lines li[data-tone=bad]{color:var(--down)}.log-day{color:var(--dim);margin-right:6px}@media (width<=599px){.status{cursor:pointer}}.info-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.info-table th,.info-table td{border-bottom:1px solid var(--line-soft);text-align:right;padding:3px 0;font-weight:400}.info-table th:first-child,.info-table td:first-child{text-align:left}.info-table th{color:var(--muted);font-family:var(--font-label);letter-spacing:1.5px;text-transform:uppercase}.action-reason{color:var(--down);grid-column:1/-1}.bag-list{margin:0;padding:4px 10px 8px;list-style:none}.bag-list li{font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:3px 0;display:flex}.empty{color:var(--muted);margin:0;padding:8px 10px}.dialog{background:var(--bg);border:1px solid var(--line-key);width:min(460px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);padding:0}.dialog::backdrop{background:#000000b3}.dialog-body{flex-direction:column;gap:10px;padding:12px;display:flex}.dialog-title{font-family:var(--font-label);letter-spacing:1.5px;text-transform:uppercase;margin:0;font-size:20px;font-weight:600}.dialog-text{margin:0}.notice{flex-direction:column;gap:10px;max-width:46ch;display:flex}.dialog-note{color:var(--muted);margin:0;font-size:12px;display:block}.field{flex-direction:column;gap:2px;display:flex}.field input,.field select{background:var(--panel);border:1px solid var(--line-key);width:100%;min-height:44px;color:var(--select);font:inherit;font-variant-numeric:tabular-nums;border-radius:0;padding:0 10px;font-size:16px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:6px;display:grid}.places{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.key-row{flex-wrap:wrap;gap:6px;display:flex}.key-row .key{flex:1}.key-pair{flex-shrink:0;gap:6px;display:flex}.rows{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.row .key{flex-shrink:0}.encounter-bar{background:var(--down);color:var(--bg);font-family:var(--font-label);letter-spacing:1.5px;text-transform:uppercase;margin:-12px -12px 0;padding:6px 12px;font-size:16px;font-weight:600}.foes{color:var(--amber);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.fight-log{min-height:88px;font-size:12px}.fight-keys{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.fight-keys .key{width:100%}.city-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.city-key{background:var(--key);border:1px solid var(--line-key);width:100%;min-height:44px;color:var(--text);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:0 10px;display:flex}.city-key:hover:not(:disabled){border-color:var(--muted)}.city-key:disabled{color:var(--dim);cursor:not-allowed}.dialog-keys{background:var(--bg);justify-content:flex-end;gap:6px;padding:6px 0;display:flex;position:sticky;bottom:0}.score{color:var(--amber);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.score-lines{grid-template-columns:1fr auto;gap:2px 16px;margin:0;display:grid}.score-lines dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff")}
