:root{color:#f2fff6;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#050907;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{width:min(100%,760px);padding:max(20px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));margin:0 auto}header,.status,nav{justify-content:space-between;align-items:center;gap:12px;display:flex}.brand{font-size:20px;font-weight:700}.tag{color:#b8ffd8;font-size:12px}h1{margin-bottom:8px;font-size:24px}.disclosure{color:#a3ff12;font-size:17px;font-weight:650}.subtle{color:#a8bcaf;font-size:13px;line-height:1.6}nav{flex-wrap:wrap;justify-content:flex-start;margin:20px 0 12px}button,summary{cursor:pointer;min-height:44px;font:inherit}button{color:#f2fff6;background:#0d1d15;border:1px solid #2d7450;border-radius:8px;padding:9px 13px}button[aria-pressed=true]{color:#a3ff12;border-color:#a3ff12}button:focus-visible,summary:focus-visible{outline-offset:3px;outline:2px solid #a3ff12}.status{margin-bottom:16px;font-size:13px}.price{font-variant-numeric:tabular-nums;margin:22px 0 12px;font-size:clamp(24px,7vw,40px)}svg{background:#07140e;border-radius:12px;width:100%;display:block}svg line{stroke:#173d29;stroke-width:1px}svg polyline{fill:none;stroke:#b8ffd8;stroke-width:2px;vector-effect:non-scaling-stroke}dl{font-variant-numeric:tabular-nums;grid-template-columns:auto minmax(0,1fr);gap:12px;font-size:13px;display:grid}dt{color:#a8bcaf}dd{text-align:right;overflow-wrap:anywhere;margin:0}.epoch{font-size:11px}summary{color:#b8ffd8;padding-top:12px}.observations{font-variant-numeric:tabular-nums;padding:0;font-size:12px;list-style:none}.observations li{border-top:1px solid #173d29;justify-content:space-between;gap:8px;padding:8px 0;display:flex}.about{color:#a8bcaf;line-height:1.7}.about h2{color:#f2fff6;font-size:20px}.account-view{overflow-wrap:anywhere;line-height:1.6}.account-view h2{font-size:1.25rem}.account-view form{gap:12px;display:grid}.account-view input,.account-view select{width:100%;min-width:0;min-height:48px;font:inherit;color:#f2fff6;background:#0d1d15;border:1px solid #2d7450;border-radius:8px;padding:10px 12px}.account-view label{font-weight:600}.account-view input:focus-visible,.account-view select:focus-visible,.account-view h2:focus{outline-offset:3px;outline:2px solid #a3ff12}.account-view form p{margin:0 0 8px}.auth-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.auth-error{color:#ffc66d;border-left:3px solid #ffc66d;padding-left:12px}.auth-notice{color:#b8ffd8}.auth-notice:empty{display:none}button:disabled{opacity:.6;cursor:default}.control-section{border-block:1px solid #245442;margin-block:1.5rem;padding-block:1rem}.control-section [data-control-status]{color:#b4f3d5;font-weight:650}.queue-section{border-top:1px solid #245442;padding-block:1rem}.queue-section h3:focus-visible{outline-offset:4px;outline:2px solid #a3ff12}.queue-section button{margin:.35rem .5rem .35rem 0}.queue-section [aria-disabled=true]{opacity:.55;cursor:default}.fallback-options{border-left:2px solid #b4f3d5;padding-left:.8rem}.connection-view strong{overflow-wrap:anywhere}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#160911;--color-market:#2a0d22;--color-surface-secondary:#1d0a18;--color-grid:#7a2456;--color-border-strong:#a13b72;--color-neon:#eeff78;--color-mint:#ffd8ea;--color-text-primary:#fff5fa;--color-text-secondary:#dea4c2;--color-warning:#ffd06f;--color-negative:#ff9eaa;--color-tile-text:#24101c;--color-tile-border:#ffffd0;--color-trace:#ffe45c}.tapfi-shell{width:100%;max-width:430px;min-height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);flex-direction:column;margin-inline:auto;display:flex;position:relative}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;column-gap:12px;min-height:48px;padding-inline:16px;display:flex}.brand{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wordmark{letter-spacing:-.04em;font-size:1.125rem;font-weight:600}.wordmark span{color:var(--color-neon)}.practice-badge{border:1px solid var(--color-border-strong);background:var(--color-surface-secondary);color:var(--color-mint);border-radius:999px;padding:3px 7px;font-size:.75rem;line-height:1.2}.header-disclosure{color:var(--color-text-secondary);text-align:right;font-size:.6875rem;line-height:1.4}.wallet-icon{color:var(--color-mint);flex:0 0 18px}.supporting-label{color:var(--color-text-secondary);font-size:.75rem}.primary-value{white-space:nowrap;font-size:1rem;font-weight:600}.unit{color:var(--color-mint)}.market-status{min-height:28px;color:var(--color-text-secondary);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;line-height:1.4;display:flex}.instrument{min-height:44px;color:var(--color-text-primary);letter-spacing:.025em;background:0 0;border:0;align-items:center;gap:6px;padding:2px 8px;font-weight:600;display:flex}.instrument img{width:22px;height:22px}.instrument-chevron{color:var(--color-text-secondary)}.feed-status{white-space:nowrap;text-align:right}.market-status[data-fresh=false] .feed-status{color:var(--color-warning);font-weight:600}.market-surface{--market-inset:8px;--price-axis-width:56px;--time-axis-height:28px;--now-position:calc(100% * 96 / 318);grid-template-columns:minmax(0, 1fr) var(--price-axis-width);grid-template-rows:minmax(0, 1fr) var(--time-axis-height);padding-inline:var(--market-inset);background:var(--color-market);box-shadow:inset 0 1px var(--color-grid), inset 0 -1px var(--color-grid);color:var(--color-text-secondary);flex:1 0 120px;font-size:.75rem;display:grid;position:relative}.market-plot{grid-area:1/1;position:relative;overflow:clip}.market-history,.market-future{position:absolute;inset-block:0}.market-history{width:var(--now-position);left:0}.market-future{left:var(--now-position);right:0}.now-boundary{inset-block:0;left:var(--now-position);background:var(--color-border-strong);width:1px;position:absolute}.offscreen-position-indicator{z-index:4;border:1px solid var(--color-border-strong);background:var(--color-surface-secondary);width:max-content;min-width:44px;height:44px;min-height:44px;color:var(--color-mint);border-radius:5px;padding:2px 4px;font-size:.75rem;font-weight:600;line-height:1;position:absolute;left:4px}.offscreen-position-indicator-above{top:4px}.offscreen-position-indicator-below{bottom:4px}.price-axis-lane{grid-area:1/2;position:relative;overflow:visible}.time-axis-lane{grid-area:2/1;position:relative}.now-label{top:50%;left:var(--now-position);line-height:1.4;position:absolute;transform:translate(-50%,-50%)}.market-grid,.future-grid{position:absolute;inset:0}.market-grid{pointer-events:none;overflow:hidden}.market-grid line{stroke-width:1px;vector-effect:non-scaling-stroke}.future-grid-mark,.historical-grid-mark{stroke:url(#grid-fade)}.future-corner-dot,.historical-corner-dot{fill:url(#grid-fade)}.future-grid{clip-path:none}.future-cell[data-time-pass=false]{border-inline-start-color:color-mix(in srgb, var(--color-grid) 70%, var(--color-market))}.future-cell[data-time-pass=false] .cell-multiplier{color:color-mix(in srgb, var(--color-text-secondary) 80%, var(--color-market))}.price-trace{pointer-events:none;position:absolute;top:0;left:0;overflow:hidden}.price-trace path{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.price-trace-history{stroke:url(#recent-trace);opacity:1}.latest-observation-marker{fill:#fff}.last-observation-marker{fill:#fff;stroke:var(--color-warning);stroke-width:1px}.last-observation-label{fill:var(--color-warning);font-size:10px}.observation-price-badge{background:var(--color-surface-secondary);border:1px solid var(--color-border-strong);width:max-content;min-width:56px;min-height:22px;color:var(--color-mint);white-space:nowrap;border-radius:3px;place-items:center;font-size:.6875rem;line-height:1.5;display:grid;position:absolute;right:0;transform:translateY(-50%)}.future-cell{touch-action:manipulation;background:0 0;border:0;border-radius:0;place-items:center;padding:0;display:grid;position:absolute}.cell-multiplier{color:var(--color-text-secondary);font-size:.75rem;font-weight:500}.price-axis-label,.timestamp-label{white-space:nowrap;font-size:.6875rem;line-height:1.5;position:absolute}.price-axis-label{right:0;transform:translateY(-50%)}.timestamp-label{top:50%;transform:translate(-50%,-50%)}.axis-measure{visibility:hidden;pointer-events:none;top:0;left:0;right:auto;transform:none}.market-text-measures{visibility:hidden;pointer-events:none;width:max-content;position:absolute}.market-text-measures .cell-multiplier{white-space:nowrap;width:max-content;display:block}.future-cell:before{content:"";box-sizing:border-box;pointer-events:none;border-radius:6px;position:absolute;inset:0}.future-cell[data-state=pressed]:before{border:2px solid var(--color-neon);background:color-mix(in srgb, var(--color-neon) 12%, transparent)}.future-cell[data-state=pending]:before{border:2px dashed var(--color-mint);background:var(--color-surface-secondary)}.future-cell[data-state=open]:before{background:var(--color-neon);border:2px solid #ffffed;transition:background-color .15s,border-color .15s}.future-cell[data-state=awaiting]:before{border:2px solid var(--color-warning);background:var(--color-surface-secondary)}.future-cell[data-fade-phase=fading]{pointer-events:none;animation:.4s ease-out forwards position-tile-fade;animation-delay:var(--fade-delay,0s)}.future-cell[data-state=market-unavailable] .cell-multiplier{color:var(--color-text-secondary)}.future-cell[data-state=rejected]:before,.future-cell[data-state=quote-changed]:before{animation:.2s ease-out placement-rejection}.future-cell[data-owned=true]{z-index:1}.future-cell[data-owned=true] .cell-multiplier{color:var(--color-mint)}.future-cell[data-state=open] .position-cell-content,.future-cell[data-state=open] .cell-multiplier,.future-cell[data-state=open] .position-symbol{color:var(--color-tile-text)}.future-cell:focus-visible{outline-offset:-3px;z-index:2}.position-cell-content{width:max-content;color:var(--color-mint);pointer-events:none;white-space:nowrap;justify-items:center;font-size:.75rem;line-height:1.1;display:grid;position:absolute}.position-cell-content.content-measure{visibility:hidden}.position-stake{font-size:1rem;font-weight:700}.pending-cue{line-height:.75}.position-symbol{color:var(--color-mint);font-size:16px;position:relative}.future-cell[data-state=awaiting] .position-cell-content,.future-cell[data-state=awaiting] .position-symbol{color:var(--color-warning)}.future-cell[data-state=lost] .position-cell-content,.future-cell[data-state=lost] .position-symbol{color:var(--color-negative)}.result-xp{font-size:.625rem;font-weight:700}.result-label{align-items:center;gap:2px;display:flex}.result-burst{z-index:3;pointer-events:none;position:absolute;inset:50%}.result-burst i{background:var(--color-trace);border-radius:2px;width:3px;height:8px;animation:.52s ease-out both result-particle;position:absolute}.future-cell[data-state=lost] .result-burst i{background:var(--color-negative);animation-name:loss-particle}.result-burst i:first-child{--dx:-22px;--dy:-17px;rotate:-45deg}.result-burst i:nth-child(2){--dx:0px;--dy:-25px}.result-burst i:nth-child(3){--dx:22px;--dy:-17px;rotate:45deg}.result-burst i:nth-child(4){--dx:27px;--dy:2px;rotate:90deg}.result-burst i:nth-child(5){--dx:18px;--dy:22px;rotate:135deg}.result-burst i:nth-child(6){--dx:-18px;--dy:22px;rotate:-135deg}.result-burst i:nth-child(7){--dx:-27px;--dy:2px;rotate:-90deg}.result-burst i:nth-child(8){--dx:0px;--dy:27px;rotate:180deg}.placement-feedback{z-index:5;top:max(8px, env(safe-area-inset-top,0px));pointer-events:none;width:min(100% - 24px,406px);font-size:.875rem;line-height:1.4;position:fixed;left:50%;transform:translate(-50%)}.placement-feedback span{border:1px solid var(--color-border-strong);background:var(--color-surface-secondary);color:var(--color-text-primary);border-radius:6px;padding:8px 12px;display:block}.positions-list{gap:16px;padding:0;list-style:none;display:grid}.positions-list li{border:1px solid var(--color-border-strong);border-radius:6px;padding:12px}.positions-list li[data-status=awaiting]{border-color:var(--color-warning)}.positions-list li[data-status=won]{border-color:var(--color-neon)}.positions-list li[data-status=lost]{border-color:var(--color-negative)}.position-status{align-items:center;gap:6px;font-weight:600;display:flex}.positions-list dl{gap:4px;display:grid}.positions-list dt{color:var(--color-text-secondary)}.positions-list dd{overflow-wrap:anywhere;margin:0 0 6px}.positions-navigation{flex-wrap:wrap;gap:8px;margin-block:8px 12px;display:flex}.positions-back,.positions-expand,.position-inspect{border:1px solid var(--color-border-strong);min-width:44px;min-height:44px;color:var(--color-mint);font:inherit;background:0 0;border-radius:6px;padding:8px 12px}.position-inspect{width:100%}.position-details dl{gap:4px;display:grid}.position-details dt,.position-explanation{color:var(--color-text-secondary)}.position-details dd{overflow-wrap:anywhere;margin:0 0 8px}.position-details[data-status=awaiting] .position-status,.position-details[data-status=rejected] .position-status{color:var(--color-warning)}.position-details[data-status=won] .position-status{color:var(--color-neon)}.position-details[data-status=lost] .position-status{color:var(--color-negative)}.positions-section h3{margin:8px 0;font-size:1rem}.history-section{border-top:1px solid var(--color-grid);margin-top:20px;padding-top:12px}.positions-sheet.sheet-expanded,.opportunities-sheet.sheet-expanded{height:calc((var(--sheet-viewport-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) * .9 + env(safe-area-inset-bottom,0px))}.opportunity-list{gap:16px;margin:16px 0 0;padding:0;list-style:none;display:grid}.opportunity-row{border:1px solid var(--color-border-strong);border-radius:6px;padding:12px;scroll-margin:8px}.opportunity-row[data-eligible=true]{border-style:solid}.opportunity-row[data-eligible=false]{border-style:dashed}.opportunity-row[data-status=pending]{border:2px dashed var(--color-mint)}.opportunity-row[data-status=open]{border:2px solid var(--color-neon)}.opportunity-row h3{overflow-wrap:anywhere;margin:0 0 8px;font-size:1rem}.opportunity-row dl{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;margin:0;display:grid}.opportunity-row dt{color:var(--color-text-secondary)}.opportunity-row dd{text-align:right;overflow-wrap:anywhere;margin:0}.opportunity-status{color:var(--color-text-secondary);margin-block:10px}.opportunity-row[data-eligible=true] .opportunity-status,.opportunity-row[data-status=pending] .opportunity-status{color:var(--color-mint)}.opportunity-place{width:100%}.opportunity-place:disabled{border-color:var(--color-border-strong);color:var(--color-text-secondary);background:0 0}.opportunity-row:focus-visible{outline:2px solid var(--color-neon);outline-offset:2px}@media (width<=430px){.opportunity-row dl{grid-template-columns:minmax(0,1fr)}.opportunity-row dd{text-align:left;margin-bottom:8px}}.wallet-practice{color:var(--color-text-secondary);margin-block:8px 16px}.wallet-balances{gap:16px;margin-block:0 20px;display:grid}.wallet-balances dt{font-weight:600}.wallet-balances dd{overflow-wrap:anywhere;margin:4px 0 0}.wallet-available,.wallet-committed{font-size:1rem;font-weight:600}.wallet-definition,.wallet-pending{color:var(--color-text-secondary)}.wallet-refill{border-top:1px solid var(--color-grid);padding-top:12px}.wallet-refill h3{margin:0;font-size:1rem}.wallet-refill p{margin-block:8px}.wallet-refill-button{width:100%}.wallet-refill-button[aria-disabled=true]{color:var(--color-text-secondary);border-color:var(--color-border-strong);cursor:default;background:0 0}.wallet-refill-status:empty{display:none}.wallet-refill-status{color:var(--color-mint)}.wallet-activity{border:1px solid var(--color-border-strong);width:100%;min-height:44px;color:var(--color-mint);background:0 0;border-radius:6px;margin-bottom:16px;font-weight:600}.settlement-pending{color:var(--color-warning)}@keyframes placement-rejection{0%{border:2px solid var(--color-warning)}to{border:2px solid #0000}}@keyframes result-particle{0%{opacity:1;transform:translate(-1px,-4px)scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.35)}}@keyframes loss-particle{0%{opacity:.85;transform:translate(-1px,-4px)scale(1)}to{opacity:0;transform:translate(var(--dx), calc(var(--dy) + 8px)) scale(.2)}}@keyframes position-tile-fade{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.future-cell[data-state=open]:before{transition:none}.future-cell[data-state=rejected]:before,.future-cell[data-state=quote-changed]:before{border:1px solid var(--color-warning);animation:none}.future-cell[data-state=won]:before,.future-cell[data-state=lost]:before{animation:none}.result-burst i{opacity:0;animation:none}.future-cell[data-fade-phase=fading]{animation-duration:.18s}}.floating-market-controls{z-index:6;left:max(8px, env(safe-area-inset-left,0px));right:max(8px, env(safe-area-inset-right,0px));bottom:calc(36px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:space-between;align-items:end;display:flex;position:absolute}.floating-left-controls,.floating-right-controls{pointer-events:auto;gap:6px;display:grid}.floating-left-controls{justify-items:start}.floating-right-controls{justify-items:end}.floating-market-controls button{border:1px solid var(--color-grid);background:color-mix(in srgb, var(--color-background) 94%, transparent);min-width:44px;min-height:44px;color:var(--color-text-primary);border-radius:999px;font-size:.8125rem;font-weight:600}.floating-market-controls .dock-wallet-control,.floating-market-controls .trade-size{align-items:center;gap:7px;max-width:152px;padding:6px 10px;display:flex}.floating-market-controls .dock-value{color:var(--color-text-primary);white-space:nowrap}.floating-market-controls .trade-size>svg{width:18px;height:18px;color:var(--color-mint)}.sound-control,.recenter-control{place-items:center;padding:0;display:grid}.sound-control svg{fill:currentColor;width:21px;height:21px}.sound-control svg path+path{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.sound-control[aria-pressed=false]{color:var(--color-text-secondary)}.recenter-control svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:21px;height:21px}.trade-dock{background:var(--color-surface-secondary);flex:none;padding:2px 8px 6px}.session-pnl{text-align:center;min-height:18px;color:var(--color-text-secondary);margin:0;font-size:.6875rem;line-height:1.4}.pnl-value{color:var(--color-text-primary);white-space:nowrap;font-weight:600}.trade-actions{grid-template-columns:minmax(0,1.35fr) minmax(88px,.85fr) minmax(0,1.35fr);align-items:stretch;gap:6px;display:grid}.dock-wallet-control,.trade-size,.positions-control,.preset{border:1px solid var(--color-grid);background:var(--color-background);border-radius:999px;min-width:44px;min-height:44px;padding:4px 10px;font-size:.875rem;font-weight:600;line-height:1.25}.dock-wallet-control,.trade-size{text-align:left;align-items:center;gap:7px;display:flex;overflow:hidden}.dock-wallet-control{gap:4px;padding-inline:6px}.dock-wallet-control>span,.trade-size>span:first-child{min-width:0;display:grid}.dock-value{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dock-wallet-control .dock-value{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:.75rem;overflow:visible}.trade-size .dock-value{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.trade-size{justify-content:space-between}.menu-cue{color:var(--color-mint);flex:none;font-size:.75rem}.preset-selected{background:var(--color-neon);border-color:var(--color-neon);color:var(--color-background)}.positions-control{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:.75rem;display:flex}.positions-control span{min-width:0;max-width:100%}.position-count{color:var(--color-mint)}button:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--color-neon);outline-offset:2px}.trade-size-sheet{inset:auto 0;top:calc(var(--sheet-viewport-top,0px) + var(--sheet-viewport-height,100dvh));width:min(100%,430px);max-width:100%;height:calc((var(--sheet-viewport-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) * .5 + env(safe-area-inset-bottom,0px));max-height:calc(var(--sheet-viewport-height,100dvh) - env(safe-area-inset-top,0px));padding:12px max(20px, env(safe-area-inset-right,0px)) max(20px, env(safe-area-inset-bottom,0px)) max(20px, env(safe-area-inset-left,0px));overscroll-behavior:contain;border:1px solid var(--color-border-strong);background:var(--color-surface-secondary);color:var(--color-text-primary);border-bottom:0;border-radius:16px 16px 0 0;margin:0 auto;font-size:.875rem;line-height:1.5;position:fixed;overflow:auto;translate:0 -100%}.trade-size-sheet[open]{animation:.24s ease-out sheet-enter}.trade-size-sheet::backdrop{background:#050907a6}.sheet-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.sheet-heading h2{margin:0;font-size:1.125rem;font-weight:600}.sheet-close{background:0 0;border:0;flex:0 0 44px;min-height:44px;font-size:1.5rem}.trade-size-sheet form{gap:12px;margin-top:12px;display:grid}.sheet-presets{grid-template-columns:repeat(4,minmax(44px,1fr));gap:8px;display:grid}.trade-size-sheet label{font-weight:600}.trade-size-sheet input{border:1px solid var(--color-border-strong);background:var(--color-background);width:100%;min-width:0;min-height:44px;color:var(--color-text-primary);font:inherit;font-variant-numeric:tabular-nums;border-radius:6px;padding:10px 12px;font-size:1rem}.trade-size-sheet input[aria-invalid=true]{border-color:var(--color-warning)}.sheet-guidance{color:var(--color-text-secondary)}.sheet-error{color:var(--color-warning)}.sheet-error:empty{display:none}.sheet-apply{border:1px solid var(--color-neon);background:var(--color-neon);min-height:44px;color:var(--color-background);border-radius:6px;padding:10px 12px;font-weight:600}@keyframes sheet-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.trade-size-sheet[open]{animation:80ms linear sheet-fade}}.trade-size-popover{inset:auto max(8px, env(safe-area-inset-right,0px)) calc(86px + env(safe-area-inset-bottom,0px)) auto;border:1px solid var(--color-border-strong);background:var(--color-surface-secondary);width:min(304px,100% - 16px);color:var(--color-text-primary);border-radius:14px;margin:0;padding:10px;position:fixed;box-shadow:0 12px 32px #00000073}.trade-size-popover[open]{animation:.12s ease-out popover-enter}.trade-size-popover::backdrop{background:#0509073d}.trade-size-popover h2{margin:0 0 8px;font-size:.875rem;font-weight:600}.trade-size-options{grid-template-columns:repeat(4,minmax(44px,1fr));gap:6px;display:grid}.trade-size-options .preset{padding-inline:6px}@keyframes popover-enter{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}.floating-market-controls .dock-wallet-control,.floating-market-controls .trade-size{border:1px solid var(--color-grid);background:color-mix(in srgb, var(--color-background) 94%, transparent);border-radius:999px;justify-content:flex-start;height:44px;min-height:44px;padding:6px 10px}@media (prefers-reduced-motion:reduce){.trade-size-popover[open]{animation:none}}@media (width<=359px){.trade-dock{padding-inline:4px}.trade-actions{grid-template-columns:minmax(0,1.3fr) minmax(82px,.8fr) minmax(0,1.3fr);gap:3px}}.future-cell{box-sizing:border-box;overflow:visible}.future-cell[data-owned=true]:before{box-shadow:inset 0 0 0 1.5px #551c32}.future-cell[data-owned=false]>.cell-multiplier{opacity:var(--entry-opacity,1);font-variant-numeric:tabular-nums;position:absolute;bottom:4px;right:4px}.market-grid line{opacity:.875}.market-grid circle{opacity:1;fill:url(#grid-fade);filter:brightness(1.18)}.position-result{color:var(--color-mint);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:3px}.position-result .result-label svg{width:14px;height:14px}.position-result .result-xp{font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;font-size:12px;font-weight:700;line-height:1.15;animation:1.2s ease-out both xp-emerge}.position-result .result-xp>span{font-size:11px;display:block}.future-cell[data-state=lost] .position-result{color:var(--color-negative)}.position-result .result-label,.position-result .result-xp{z-index:4;position:relative}.position-result .result-xp{background:var(--color-market);border-radius:2px;padding-inline:1px}.position-result .result-burst i{animation-name:result-fragment}.future-cell[data-state=lost] .position-result .result-burst i{animation-name:loss-fragment}@keyframes result-fragment{0%{opacity:.9;transform:translate(calc(var(--dx) * .65), calc(var(--dy) * .65)) scale(.7)}to{opacity:0;transform:translate(calc(var(--dx) * 1.25), calc(var(--dy) * 1.25)) scale(.25)}}@keyframes loss-fragment{0%{opacity:.45;transform:translate(calc(var(--dx) * .65), calc(var(--dy) * .65))}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.3)}}@keyframes xp-emerge{0%{transform:translateY(3px)}to{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.position-result .result-xp{animation:.18s ease-out xp-fade}.position-result .result-burst i,.future-cell[data-state=lost] .position-result .result-burst i{opacity:0;animation:none}}@keyframes xp-fade{0%{opacity:.6}to{opacity:1}}.wallet-inspection{border:1px solid var(--color-border-strong);min-height:44px;color:var(--color-mint);font:inherit;background:0 0;border-radius:6px;margin:4px 0 12px 8px;padding:8px 12px}.future-cell[data-state=open]:before{box-shadow:inset 0 0 0 1px #551c32}.future-cell[data-state=won]:before,.future-cell[data-state=lost]:before{content:none;box-shadow:none;background:0 0;border:0;animation:none}.result-tile-pop{background:var(--color-neon);pointer-events:none;border:2px solid #ffffed;border-radius:6px;animation:.26s ease-out both tile-disperse;position:absolute;inset:-3px;box-shadow:inset 0 0 0 1px #551c32}@keyframes tile-disperse{0%{opacity:1;filter:brightness(1.2);transform:scale(1)}25%{opacity:1;transform:scale(.97)}to{opacity:0;filter:none;transform:scale(.3)}}@media (hover:hover) and (pointer:fine){.future-cell[data-actionable=true][data-hovered=true]:not([data-state=pressed]):before{background:#ffffed14;border:1.5px solid #ffffed}}.future-cell:focus-visible{outline-offset:-3px;outline:2px solid #ffffed}.future-cell[data-actionable=true]:focus-visible:before{background:#ffffed14}@media (prefers-reduced-motion:reduce){.result-tile-pop{animation:none;display:none}}.tapfi-shell[data-inactive=true]{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0;right:0}.competitions-entry,.competition-return,.competition-categories button{border:1px solid var(--color-border-strong);background:var(--color-surface-secondary);border-radius:10px;min-height:44px;padding:8px 12px;font-size:.875rem}.competitions-entry{color:var(--color-mint);margin-block:2px}.competition-landing{width:100%;max-width:430px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));overflow-wrap:anywhere;flex-direction:column;gap:24px;margin-inline:auto;display:flex}.competition-return{text-align:left;align-self:flex-start}.competition-landing header{gap:10px;display:grid}.competition-landing h1{letter-spacing:-.04em;font-size:1.75rem}.competition-landing p{line-height:1.5}.competition-landing header>p:last-child,.competition-continuity{color:var(--color-text-secondary);font-size:.875rem}.competition-eyebrow{color:var(--color-neon);font-size:.75rem;font-weight:600}.competition-categories{gap:8px;display:flex}.competition-categories button{flex:1}.competition-categories button[aria-pressed=true]{border-color:var(--color-neon);color:var(--color-neon)}.competition-card{border:1px solid var(--color-border-strong);background:var(--color-surface-secondary);border-radius:16px;padding:20px}.competition-card h2{margin:8px 0 16px;font-size:1.25rem;line-height:1.35}.competition-card ul{padding-left:20px;font-size:.9375rem;line-height:1.7}.competition-disclosure{border-top:1px solid var(--color-border-strong);color:var(--color-mint);padding-top:16px;font-size:.875rem}.competition-unavailable{color:var(--color-text-secondary);margin-top:16px;font-size:.875rem}.practice-identity{gap:2px;padding-block:4px;display:grid}.practice-identity .header-disclosure{text-align:left}.competition-card button{border:1px solid var(--color-border-strong);min-width:44px;min-height:44px;font:inherit;background:var(--color-market);color:var(--color-text-primary);border-radius:10px;padding:12px}.competition-card .competition-primary{background:var(--color-neon);color:var(--color-background);font-weight:600}.competition-card>.competition-primary{width:100%;margin-top:16px}.competition-flow{gap:16px;display:grid}.competition-flow h2{margin:0}.competition-flow>.competition-primary{margin-top:0}.competition-card button:disabled{opacity:.65}.competition-notice{color:var(--color-mint);font-size:.875rem}.competition-notice:empty{display:none}.competition-timer{font-variant-numeric:tabular-nums}.competition-participant{border-bottom:1px solid var(--color-grid);gap:6px;padding-bottom:12px;display:grid}.competition-participant span{color:var(--color-mint)}.competition-match{width:100%;max-width:430px;min-height:100dvh;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);overflow-wrap:anywhere;flex-direction:column;margin-inline:auto;display:flex;position:relative}.match-header{justify-content:space-between;align-items:center;gap:8px;padding:4px 12px;display:flex}.match-header h1{font-size:1rem}.match-header button,.match-result-content button,.match-sheet button{min-width:44px;min-height:44px;font:inherit;border:1px solid var(--color-border-strong);background:var(--color-surface-secondary);color:var(--color-text-primary);border-radius:10px;padding:8px 12px}.match-disclosure{color:var(--color-text-secondary);padding:0 12px 6px;font-size:.6875rem;line-height:1.4}.match-standings{border-block:1px solid var(--color-grid);font-variant-numeric:tabular-nums;padding:6px 12px;font-size:.75rem;line-height:1.5}.match-standings>div{justify-content:space-between;gap:8px;display:flex}.match-standings>div:first-child{color:var(--color-mint)}.match-standings p{color:var(--color-text-secondary)}.match-time{color:var(--color-neon);font-weight:700}.match-market-status{justify-content:space-between;gap:8px;padding:5px 12px;font-size:.75rem;display:flex}.competition-match .market-surface{min-height:340px}.match-floating{z-index:6;bottom:calc(36px + env(safe-area-inset-bottom,0px));pointer-events:none;justify-content:space-between;gap:6px;display:flex;position:absolute;left:8px;right:8px}.match-floating button{pointer-events:auto;border:1px solid var(--color-border-strong);background:var(--color-background);min-width:44px;min-height:44px;font:inherit;border-radius:999px;padding:8px 10px;font-size:.8125rem}.match-feedback{min-height:22px;color:var(--color-mint);padding:3px 12px;font-size:.75rem;line-height:1.4}.position-streak{color:var(--color-mint);padding:2px 12px;font-size:.75rem}.competition-match .floating-market-controls .dock-wallet-control,.competition-match .floating-market-controls .trade-size{max-width:none}.competition-match .floating-market-controls .dock-value{white-space:normal;overflow-wrap:anywhere}.competition-match .floating-left-controls,.competition-match .floating-right-controls{max-width:49%}.competition-match .floating-market-controls .dock-wallet-control,.competition-match .floating-market-controls .trade-size{height:auto}.opponent-markers{pointer-events:none;z-index:3;position:absolute;inset:0}.opponent-marker{pointer-events:none;border:1px dashed #b8ffd8;border-radius:4px;position:absolute}.opponent-marker>span{text-align:center;color:#b8ffd8;white-space:nowrap;background:#2a0d22;font-size:10px;line-height:10px;position:absolute;top:0;left:1px;right:1px}.opponent-marker>span+span{top:auto;bottom:0}.opponent-marker[data-phase=fading]{opacity:.35}.match-finalizing{color:var(--color-warning);padding:8px 12px;font-size:.875rem}.match-result-content{gap:20px;padding:20px;line-height:1.5;display:grid}.match-result-content table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.875rem}.match-result-content th,.match-result-content td{text-align:left;border-bottom:1px solid var(--color-grid);font-variant-numeric:tabular-nums;padding:10px 4px}.match-result-content caption{text-align:left;color:var(--color-mint);margin-bottom:12px}.match-sheet{height:min(85dvh,700px);overflow-y:auto}.match-sheet .sheet-header{gap:12px}.match-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.match-presets [aria-pressed=true]{border-color:var(--color-neon);color:var(--color-neon)}.match-account-totals{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-block:16px;display:grid}.match-records{padding-left:20px}.match-records li{border-bottom:1px solid var(--color-grid);padding-block:16px;line-height:1.5}.match-records p{margin-block:4px}.competition-match .future-grid-mark{stroke:url(#competition-grid-fade)}.competition-match .market-grid circle{fill:url(#competition-grid-fade)}.competition-match .price-trace-history{stroke:url(#competition-recent-trace)}.match-result-content th,.match-result-content td{white-space:normal;overflow-wrap:anywhere}.match-result-content th:first-child{width:40%}.match-header>button{white-space:nowrap;flex-shrink:0}[data-net-sign=gain],.position-result[data-net-sign=gain]{color:#8bff9a}[data-net-sign=loss],.future-cell[data-state=lost] .position-result[data-net-sign=loss]{color:#ff8c8c}.position-result .result-xp>span{font-size:9px}.position-result .result-tile-pop,.position-result .result-xp,.position-result .result-burst i{animation-delay:var(--result-delay,0s)}.competition-archive-links{flex-wrap:wrap;gap:6px;display:flex}.competition-archive-links button,.competition-archive button,.competition-archive summary{border:1px solid var(--color-border-strong);background:var(--color-surface-secondary);min-height:44px;color:var(--color-text-primary);font:inherit;border-radius:10px;padding:10px 12px}.competition-archive-links button{flex:auto;font-size:.8125rem}.competition-archive-links [aria-current=page]{color:var(--color-neon);border-color:var(--color-neon)}.competition-archive{max-width:580px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));overflow-wrap:anywhere;align-content:start;gap:20px;margin:auto;line-height:1.5;display:grid}.competition-archive h1{letter-spacing:-.04em;font-size:1.75rem}.competition-archive h2{font-size:1.2rem}.competition-archive h3{font-size:1rem}.competition-archive .archive-back{justify-self:start}.history-note{color:var(--color-text-secondary);font-size:.875rem}.competition-history-list,.personal-bests,.history-positions{gap:16px;padding:0;list-style:none;display:grid}.competition-history-list button{text-align:left;gap:6px;width:100%;display:grid}.competition-history-list button>span{font-size:.875rem}.competition-history-list button>span:first-of-type{color:var(--color-mint)}.history-details,.competition-statistics,.competition-leaderboard{gap:16px;display:grid}.history-facts{gap:4px;font-size:.875rem;display:grid}.history-facts dt{color:var(--color-text-secondary);margin-top:8px}.history-facts dd{font-variant-numeric:tabular-nums;margin:0}.history-fact-pair{display:contents}.history-configuration{white-space:pre-wrap;overflow-wrap:anywhere;padding-block:12px;font-size:.75rem;display:block}.history-cancellation{border-left:2px solid var(--color-warning);gap:8px;padding-left:12px;display:grid}.history-positions li,.personal-bests li,.competition-statistics section{border-top:1px solid var(--color-grid);padding-block:16px}.statistics-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.statistics-counts dt{color:var(--color-text-secondary);font-size:.875rem}.statistics-counts dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.25rem}.qualification-progress{color:var(--color-mint);font-size:1.25rem;font-weight:600}.match-header{flex-wrap:wrap}.match-header h1{flex:1;min-width:6rem}.playable-page{background:var(--color-background);color:var(--color-text-primary);z-index:10;flex-direction:column;font:.875rem/1.4 system-ui,sans-serif;display:flex;position:fixed;inset:0;overflow:auto}.playable-page svg{background:0 0;border-radius:0}.playable-page .price-trace{width:auto}.playable-page .server-grid{width:100%}.playable-page button{font:inherit;max-width:100%;min-height:40px;color:inherit;background:var(--color-surface-secondary);border:1px solid var(--color-border-strong);cursor:pointer;border-radius:10px;margin:0;padding:7px 10px}.playable-page button:focus-visible{outline:2px solid var(--color-neon);outline-offset:2px}.playable-page button:disabled{opacity:.5}.server-header{flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.server-header strong{flex:1;font-size:13px}.server-control,.competition-gate{padding:0 16px}.server-control[hidden]{display:none}.server-control .control-section{margin:0;padding:8px 0}.server-control h3{margin:0}.server-match{flex-direction:column;flex:1;min-height:0;display:flex}.server-match-summary{flex-wrap:wrap;align-items:center;gap:10px;padding:0 12px;display:flex}.server-match-summary h1{flex:1;margin:4px 0;font-size:16px}.server-match-summary span{font-size:12px}.server-disclosure{color:var(--color-text-secondary);margin:2px 0;padding:0 12px;font-size:11px}.server-disclosure span{display:block}.server-feedback{height:22px;min-height:22px;margin:2px 0;padding:0 12px;font-size:12px;overflow:auto}.server-warning{color:var(--color-warning);margin:2px 12px;font-size:12px}.server-market-wrap{flex:1;min-height:310px;position:relative}.server-market{background:var(--color-market);border:0;border-radius:0;display:block;position:absolute;inset:0;overflow:hidden}.server-market .market-plot{width:auto;height:auto;position:absolute;inset:0 72px 28px 0;overflow:hidden}.server-grid{pointer-events:none;position:absolute;inset:0}.server-grid line{stroke:var(--color-grid);stroke-width:1px}.playable-page .future-cell{min-height:0;color:var(--color-text-secondary);background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:12px;position:absolute;overflow:visible}.playable-page .future-cell[data-owned=true]{color:#24101c;background:#eeff78;border:1px solid #fff;border-radius:7px}.playable-page .future-cell[data-state=awaiting]{background:var(--color-market);color:var(--color-warning)}.playable-page .future-cell[data-state=won],.playable-page .future-cell[data-state=lost]{background:0 0;border:0}.playable-page .future-cell[data-state=entry-closed]{opacity:.32}.playable-page .future-cell[data-state=pressed]{background:var(--color-neon);color:#24101c}.playable-page .position-cell-content{flex-direction:column;justify-content:center;align-items:center;font-size:11px;display:flex;overflow:hidden}.playable-page .position-stake{font-size:12px}.server-price-axis{width:70px;color:var(--color-text-secondary);font-size:10px;position:absolute;top:0;bottom:28px;right:0;overflow:hidden}.server-price-axis span,.server-price-axis strong{position:absolute;right:2px;transform:translateY(-50%)}.server-price-axis strong{background:var(--color-neon);color:#24101c;border-radius:4px;padding:4px 2px;font-size:11px}.server-time-axis{height:26px;font-size:10px;position:absolute;bottom:0;left:0;right:72px;overflow:hidden}.server-time-axis span,.server-time-axis strong{white-space:nowrap;position:absolute;transform:translate(-50%)}.server-opponent{pointer-events:none;z-index:5;text-align:right;color:#ffd8ea;text-shadow:0 1px 2px #000;border-top:2px dashed #ffb8dc;font-size:8px;line-height:1.1;position:absolute}.playable-page .floating-market-controls{pointer-events:none;z-index:9;justify-content:space-between;gap:8px;display:flex;position:absolute;bottom:40px;left:8px;right:78px}.playable-page .floating-market-controls button{pointer-events:auto;white-space:nowrap;background:var(--color-surface-secondary);min-height:40px;font-size:12px}.playable-page .floating-left-controls,.playable-page .floating-right-controls{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.playable-page .floating-right-controls{align-items:flex-end}.playable-page .dock-wallet-control{text-overflow:ellipsis;max-width:155px;overflow:hidden}.server-final{padding:16px;overflow:auto}.server-final dl{grid-template-columns:1fr 1fr;display:grid}.playable-page dialog{background:var(--color-surface-secondary);width:calc(100% - 20px);max-width:580px;max-height:85dvh;color:var(--color-text-primary);border:1px solid var(--color-border-strong);padding:16px;overflow:auto}.playable-page dialog ol{padding-left:22px}.playable-page dialog li{border-bottom:1px solid var(--color-grid);padding:10px 0}.playable-page dialog p{overflow-wrap:anywhere}.playable-page [data-net-sign=gain]{color:#8bff9a}.playable-page [data-net-sign=loss]{color:#ff8c8c}.playable-page dialog button{margin:4px}.playable-page .price-trace{pointer-events:none;position:absolute;top:0;left:0}.playable-page .price-trace-history{fill:none;stroke:#ffe45c;stroke-width:2px}@media (width>=800px){.server-market-wrap{align-self:center;width:100%;max-width:1000px}.server-match-summary,.server-disclosure,.server-feedback{align-self:center;width:calc(100% - 24px);max-width:976px}.competition-gate{max-width:720px;margin:auto}}@media (prefers-reduced-motion:reduce){.playable-page *{transition-duration:0s!important;animation-duration:0s!important}}.playable-page .floating-market-controls svg{flex-shrink:0;width:18px;height:18px}.playable-page dialog{font-size:1rem}.playable-page .server-warning{font-size:.8rem}.playable-page .server-header{font-size:.875rem}.playable-page .dock-wallet-control{align-items:center;gap:4px;display:flex}.server-health{height:3.2rem;min-height:3.2rem;overflow:auto}.playable-page .future-cell[data-state=pending]{border:1px dashed var(--color-mint);background:var(--color-market)}.playable-page .floating-market-controls .dock-value{font-size:inherit}.playable-page .server-header strong{font-size:.8125rem}.playable-page .server-match-summary h1{font-size:1rem}.playable-page .server-match-summary span{font-size:.75rem}.playable-page .server-disclosure{font-size:.6875rem}.playable-page .server-feedback{height:1.5em;min-height:1.5em;font-size:.75rem}.playable-page .future-cell{font-size:.75rem}.playable-page .future-cell .cell-multiplier{font-size:.8125rem}.playable-page .position-cell-content{font-size:.6875rem}.playable-page .position-stake{overflow-wrap:anywhere;max-width:100%;font-size:.75rem}.playable-page .server-price-axis{width:4.375rem;font-size:.625rem}.playable-page .server-price-axis strong{font-size:.6875rem}.playable-page .server-market .market-plot{bottom:1.75rem;right:4.5rem}.playable-page .server-price-axis{bottom:1.75rem}.playable-page .server-time-axis{height:1.625rem;font-size:.625rem;right:4.5rem}.playable-page .floating-market-controls{right:4.875rem}.playable-page .floating-market-controls button{white-space:normal;height:auto;min-height:44px;font-size:.75rem}.playable-page .floating-left-controls,.playable-page .floating-right-controls{min-width:0;max-width:calc(50% - 4px)}.playable-page .floating-market-controls .dock-wallet-control,.playable-page .floating-market-controls .trade-size{max-width:100%;height:auto;overflow:visible}.playable-page .floating-market-controls .dock-value{white-space:normal;overflow-wrap:anywhere;min-width:0;overflow:visible}.playable-page [data-enlarged=true] .floating-market-controls{right:8px}.playable-page [data-enlarged=true] .server-market-wrap{min-height:440px}.playable-page .server-opponent{font-size:.5rem}.playable-page .position-result .result-xp{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:.75rem}.playable-page .position-result .result-xp>span{font-size:.5625rem}.playable-page dialog{box-sizing:border-box}.playable-page dialog dd{overflow-wrap:anywhere;margin-left:0}.playable-page .sheet-header{flex-wrap:wrap;height:auto}.playable-page .sheet-header h2{overflow-wrap:anywhere;font-size:1.125rem}.opportunity-row{border-bottom:1px solid var(--color-grid);padding:8px 0}.playable-page button{flex-shrink:0}.playable-page dialog dl{display:block}.playable-page dialog dt,.playable-page dialog dd{font-size:1rem;line-height:1.4}.playable-page dialog dd{margin:0 0 1em}.playable-page dialog .opportunity-row button{white-space:normal;height:auto}.server-progression{padding:0 12px;font-size:.85rem}.server-progression nav{flex-wrap:wrap;gap:8px;display:flex}.server-progression button{font:inherit}.server-progression .rating-summary,.server-progression .position-streak{margin:3px 0}.server-progression .progression-announcement:empty{display:none}.progression-sheet dl{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.progression-sheet dd{margin:0}.leaderboard-table{border-collapse:collapse;table-layout:fixed;width:100%}.leaderboard-table th,.leaderboard-table td{text-align:left;overflow-wrap:anywhere;border-bottom:1px solid var(--color-grid);padding:.6rem .3rem}.leaderboard-table th:first-child,.leaderboard-table td:first-child{width:15%}.leaderboard-table th:last-child,.leaderboard-table td:last-child{width:22%}.leaderboard-table [data-own=true]{outline:1px solid var(--color-mint);outline-offset:-1px}.streak-milestones{padding-left:1.2rem}.server-progression [data-rating-change]{margin:.3rem 0}
