:root{--bg:#0a0a0d;--card:#15151a;--elevated:#1f1f26;--elevated-hover:#26262e;--border:#ffffff12;--border-strong:#ffffff1f;--border-hover:#ffffff38;--hover:#ffffff0f;--hover-strong:#ffffff17;--chip:#ffffff0a;--text:#f2f2f7;--lead:#e5e7eb;--muted:#d1d5db;--dim:#9a9aa3;--faint:#6b6b75;--accent:#0a84ff;--up:#26a69a;--down:#e0677d;--up-strong:#35c9bc;--down-strong:#f18093;--scrim:#0a0a0de0;--scrim-soft:#0a0a0d8c;--card-gradient:linear-gradient(180deg, #1d1d25, var(--card));--scroll-thumb:#ffffff1f;--r-sm:6px;--r-md:10px;--r-lg:14px;--shadow-card:0 8px 24px #00000059;--shadow-pop:0 24px 64px #00000080;--t:.15s ease}[data-theme=light]{--bg:#f4f4f7;--card:#fff;--elevated:#f0f0f3;--elevated-hover:#e8e8ed;--border:#00000014;--border-strong:#00000024;--border-hover:#00000047;--hover:#0000000d;--hover-strong:#00000014;--chip:#0000000d;--text:#1c1c1e;--lead:#3f3f46;--muted:#4a4a4f;--dim:#6b6b75;--faint:#98989f;--accent:#0a84ff;--up:#1b8f82;--down:#d5454c;--up-strong:#18857a;--down-strong:#d5454c;--scrim:#f4f4f7e0;--scrim-soft:#f4f4f78c;--card-gradient:linear-gradient(180deg, #fff, #fafafc);--scroll-thumb:#00000029;--shadow-card:0 8px 24px #00000014;--shadow-pop:0 24px 64px #00000029}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow-x:hidden}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}::selection{background:#0a84ff59}button{background:var(--elevated);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer;height:34px;transition:background var(--t), border-color var(--t), transform .1s ease, box-shadow var(--t), opacity var(--t);padding:0 14px;font-family:inherit;font-size:13px;font-weight:500}button:hover:not(:disabled){background:var(--elevated-hover);border-color:var(--border-hover)}button:active:not(:disabled){transform:scale(.98)}button:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #0a84ff8c;outline:none}button:disabled{opacity:.35;cursor:default}button.primary{background:linear-gradient(180deg, #2196ff, var(--accent));color:#fff;border-color:#0000;box-shadow:0 2px 10px #0a84ff59,inset 0 1px #ffffff2e}button kbd{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--hover-strong);vertical-align:1px;opacity:.85;border-bottom-width:2px;margin-left:7px;padding:2px 6px;font-family:inherit;font-size:11px;font-weight:600;line-height:1;display:inline-block}button.primary kbd{background:#ffffff29;border-color:#ffffff59}button:disabled kbd{opacity:.6}button.primary:hover:not(:disabled){background:linear-gradient(#3aa1ff,#1a90ff);border-color:#0000}button.btn-buy{color:var(--up-strong);border-color:color-mix(in srgb, var(--up) 50%, transparent);background:var(--elevated)}button.btn-buy:hover:not(:disabled){background:var(--elevated-hover);border-color:color-mix(in srgb, var(--up) 70%, transparent)}button.btn-sell{color:var(--down-strong);border-color:color-mix(in srgb, var(--down) 50%, transparent);background:var(--elevated)}button.btn-sell:hover:not(:disabled){background:var(--elevated-hover);border-color:color-mix(in srgb, var(--down) 70%, transparent)}.btn-buy kbd{border-color:color-mix(in srgb, var(--up) 45%, transparent);background:color-mix(in srgb, var(--up) 18%, transparent)}.btn-sell kbd{border-color:color-mix(in srgb, var(--down) 45%, transparent);background:color-mix(in srgb, var(--down) 18%, transparent)}.up{color:var(--up)}.down{color:var(--down)}.dim{color:var(--dim)}.game{grid-template:"header""stage"minmax(0,1fr)"side"/minmax(0,1fr);gap:8px;max-width:1280px;height:100%;margin:0 auto;padding:10px;display:grid;position:relative;overflow:hidden}.topbar{grid-area:header;align-items:center;gap:16px;padding:2px 6px;display:flex}.brand{letter-spacing:.01em;align-items:center;gap:9px;font-size:15px;font-weight:700;display:inline-flex}.brand-icon{border-radius:3px;width:18px;height:18px}.spacer{flex:1}.icon-btn{border-radius:var(--r-sm);background:0 0;border:none;justify-content:center;align-items:center;width:34px;height:34px;padding:0;font-size:16px;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--hover);border:none}.settings-btn{width:auto;color:var(--dim);gap:7px;padding:0 10px}.settings-btn:hover:not(:disabled){color:var(--text)}.settings-btn-label{white-space:nowrap;font-size:13px;font-weight:600}.stage{flex-direction:column;grid-area:stage;min-width:0;min-height:0;display:flex;overflow:hidden}.legend{flex-wrap:wrap;flex-shrink:0;gap:6px;padding:10px 12px 6px;display:flex}.legend-settings{border:1px solid var(--border);background:var(--chip);color:var(--dim);transition:background var(--t), border-color var(--t), color var(--t);border-radius:999px;align-items:center;padding:3px 11px;font-size:11.5px;display:inline-flex}.legend-settings:hover:not(:disabled){background:var(--hover-strong);border-color:var(--border-hover);color:var(--text)}.chart-wrap{flex:1;min-height:0;position:relative}.chart-host{position:absolute;inset:0}.status{background:var(--scrim);z-index:5;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.status.error{color:var(--up)}.overlay{background:var(--scrim-soft);-webkit-backdrop-filter:blur(6px);z-index:6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay-card{background:var(--card-gradient);border:1px solid var(--border-strong);text-align:center;min-width:300px;box-shadow:var(--shadow-pop);border-radius:16px;padding:30px 40px}.overlay-card h2{letter-spacing:.02em;margin:0 0 14px;font-size:18px;font-weight:650}.overlay-card p{margin:7px 0}.overlay-card button{margin-top:12px}.side{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;grid-area:side;gap:16px;padding:14px;display:flex}.side:before{content:"";flex:0 128px}.side:after{content:"";flex:0 24px}.hint{color:var(--faint);margin-left:auto;font-size:11px}.hint-touch{display:none}.hold-auto-hint{margin-left:8px;font-size:12px;font-weight:450;display:none}@media (hover:none) and (pointer:coarse){.actions kbd,.hint-desktop{display:none}.hint-touch,.hold-auto-hint{display:inline}}.btn-hold.auto{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.site-footer{text-align:center;max-width:1280px;color:var(--faint);letter-spacing:.02em;-webkit-user-select:none;user-select:none;margin:0 auto;padding:30px 16px 34px;font-size:11px}.site-footer a{color:var(--faint);text-decoration:none}.site-footer a:hover{text-decoration:underline}.side-stats{flex-direction:column;flex-shrink:0;justify-content:center;gap:16px;display:flex}.round-pills{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.round-pills-row{justify-content:center;align-items:center;gap:8px;height:26px;display:flex}.pill{border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-width:78px;padding:4px 8px;font-size:13px;display:inline-flex}.pill.up{color:var(--up)}.pill.down{color:var(--down)}.pill-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.pill.up .pill-dot{background:var(--up)}.pill.down .pill-dot{background:var(--down)}.pill-slot{border:1px solid var(--border);opacity:.55;border-radius:50%;width:8px;height:8px}.pill.latest{background:color-mix(in srgb, currentColor 10%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, currentColor 22%, transparent);border-color:currentColor}.pill.latest .pill-dot{width:13px;height:13px}.result-hero{flex-direction:column;align-items:center;gap:4px;display:flex}.result-hero-label{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;font-size:12.5px;font-weight:600}.result-hero-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:38px;font-weight:700;line-height:1.1}.result-hero-sub{color:var(--dim);font-variant-numeric:tabular-nums;font-size:15px}.result-hero-sub-value{color:var(--text);font-weight:600}.result-mini{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;display:grid}.result-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.result-cell-label{color:var(--faint);letter-spacing:.04em;font-size:12px}.result-cell-value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:17px;font-weight:600}.actions{flex-shrink:0;grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;display:grid}.actions button{height:44px;font-size:14px}button.btn-hold{grid-column:1/-1;height:56px;font-size:15px}button.btn-hold kbd{padding:3px 8px;font-size:12px}button.btn-next{grid-column:1/-1;height:34px}[data-theme=dark] .actions button:not(.btn-buy):not(.btn-sell){color:var(--text);background:#262630;border-color:#ffffff29;font-weight:600;box-shadow:0 2px 10px #0000004d}[data-theme=dark] .actions button:not(.btn-buy):not(.btn-sell):hover:not(:disabled){background:#31313d;border-color:#ffffff4d}[data-theme=dark] .actions button.btn-buy,[data-theme=dark] .actions button.btn-sell{background:#262630}[data-theme=dark] .actions button.btn-buy:hover:not(:disabled),[data-theme=dark] .actions button.btn-sell:hover:not(:disabled){background:#31313d}.options-backdrop{-webkit-backdrop-filter:blur(2px);z-index:25;background:#00000080;position:fixed;inset:0}.options{background:var(--card);border-top:1px solid var(--border-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:72dvh;padding:14px 16px calc(16px + env(safe-area-inset-bottom));z-index:30;box-shadow:var(--shadow-pop);visibility:hidden;transition:transform .22s cubic-bezier(.32,.72,.24,1),visibility 0s .22s;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(110%)}.options.open{visibility:visible;transition:transform .22s cubic-bezier(.32,.72,.24,1),visibility;transform:translateY(0)}.options-header{justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;display:flex}.options-group{margin-bottom:18px}.options-group:last-child{margin-bottom:0}.options-group-title{color:var(--faint);letter-spacing:.06em;margin-bottom:10px;font-size:11px;font-weight:600}.options-subgroup{margin-bottom:12px}.options-subgroup:last-child{margin-bottom:0}.options-subgroup-title{color:var(--faint);margin-bottom:4px;padding-left:8px;font-size:11px;font-weight:500}.options-grid{flex-direction:column;gap:2px;display:flex}.options-item{cursor:pointer;border-radius:var(--r-sm);transition:background var(--t);align-items:center;gap:10px;padding:7px 8px;font-size:13px;display:flex}.options-item:hover{background:var(--chip)}.options-item input[type=checkbox]{appearance:none;border:1px solid var(--border-strong);background:var(--elevated);cursor:pointer;width:15px;height:15px;transition:background var(--t), border-color var(--t);border-radius:4px;flex-shrink:0;place-content:center;margin:0;display:grid}.options-item input[type=checkbox]:hover{border-color:var(--border-hover)}.options-item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.options-item input[type=checkbox]:checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:8px;height:4.5px;transform:rotate(-45deg)translate(.5px,-1px)}.options-item input[type=checkbox]:focus-visible{box-shadow:0 0 0 2px var(--card), 0 0 0 4px #0a84ff8c;outline:none}.options-item i{border-radius:3px;width:10px;height:10px;display:inline-block}.options::-webkit-scrollbar{width:6px}.options::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:3px}.options::-webkit-scrollbar-track{background:0 0}@media (width>=900px){.game{grid-template:"header header""stage side"minmax(0,1fr)/minmax(0,1fr) 300px;gap:0 12px}.topbar{margin-bottom:12px;padding:0 4px}.side{gap:18px;padding:22px 16px 12px}.actions button{height:48px}button.btn-hold{height:60px}button.btn-next{height:34px}.result-hero-value{font-size:52px}.result-cell-value{font-size:18px}.hint{text-align:center;margin-left:0}.options{border:1px solid var(--border-strong);border-radius:var(--r-lg);width:280px;max-height:min(600px,100dvh - 90px);box-shadow:var(--shadow-pop);background:var(--card);opacity:0;visibility:hidden;padding:14px 16px;transition:transform .18s cubic-bezier(.32,.72,.24,1),opacity .18s,visibility 0s .18s;position:absolute;inset:58px 20px auto auto;overflow-y:auto;transform:translateY(-6px)}.options.open{opacity:1;visibility:visible;transition:transform .18s cubic-bezier(.32,.72,.24,1),opacity .18s,visibility;transform:none}.options-backdrop{-webkit-backdrop-filter:none;background:0 0}.options-close{display:none}}@media (width<=899px){.hint{display:none}.settings-btn{gap:0;width:34px;padding:0;font-size:16px}.settings-btn-label{display:none}.side{max-height:46dvh;overflow:hidden}.side-stats{flex-shrink:0}.round-pills{flex-shrink:1;min-height:0;overflow-y:auto}.side{gap:12px;padding:12px}.result-hero-value{font-size:32px}.actions button{height:40px}button.btn-hold{height:48px}button.btn-next{height:30px}}.info{border-top:1px solid var(--border);flex-direction:column;gap:56px;max-width:1280px;margin:0 auto;padding:0 10px;display:flex}.info-hero{text-align:center;max-width:820px;margin:0 auto;padding-top:56px}.info-title{letter-spacing:-.01em;margin:0;font-size:28px;font-weight:700;line-height:1.3}.info-lead{max-width:720px;color:var(--lead);margin:18px auto 0;font-size:16px;line-height:1.65}.info-block{flex-direction:column;gap:22px;display:flex}.info-heading{letter-spacing:.01em;text-align:center;margin:0;font-size:20px;font-weight:650}.steps{gap:12px;width:100%;max-width:900px;margin:0 auto;padding:0;list-style:none;display:grid}.step{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-card);transition:border-color var(--t);grid-template-columns:auto 1fr;align-items:start;gap:6px 16px;padding:18px 20px;display:grid}.step:hover{border-color:var(--border-hover)}.step.featured{background:color-mix(in srgb, var(--accent) 8%, var(--card));border-color:color-mix(in srgb, var(--accent) 35%, var(--border));box-shadow:0 8px 28px color-mix(in srgb, var(--accent) 18%, transparent)}.step.featured .step-num{background:var(--accent);color:#fff;border-color:#0000}.step.featured .step-title{color:var(--accent)}.step-num{width:32px;height:32px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:999px;grid-area:1/1/span 2;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.step-title{grid-area:1/2;align-self:center;margin:0;font-size:16px;font-weight:650;line-height:1.4}.step-body{color:var(--muted);white-space:pre-line;grid-area:2/2;margin:0;font-size:14.5px;line-height:1.65}.faq{grid-template-columns:1fr;gap:12px;width:100%;max-width:900px;margin:0 auto;display:grid}.faq-item{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-card);transition:border-color var(--t);padding:18px 20px}.faq-item:hover{border-color:var(--border-hover)}.faq-q{margin:0 0 8px;font-size:15.5px;font-weight:650;line-height:1.5}.faq-a{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.contact-form{flex-direction:column;gap:12px;width:100%;max-width:900px;margin:0 auto;display:flex}.contact-item{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-card);transition:border-color var(--t);flex-direction:column;gap:8px;padding:18px 20px;display:flex}.contact-item:focus-within{border-color:var(--border-hover)}.contact-item label{color:var(--muted);font-size:13px;font-weight:550}.contact-item input,.contact-item textarea{background:var(--elevated);color:var(--text);border:1px solid var(--border-strong);border-radius:calc(var(--r-md) - 2px);font:inherit;resize:vertical;padding:9px 12px;font-size:14px}.contact-item input::placeholder,.contact-item textarea::placeholder{color:var(--faint)}.contact-item input:focus,.contact-item textarea:focus{border-color:var(--accent);outline:none}.contact-send{align-self:center;min-width:140px}.contact-send[disabled]{opacity:.6;cursor:wait}.contact-status{text-align:center;color:var(--muted);margin:0;font-size:14px}.contact-status.ok{color:var(--up)}.contact-status.fail{color:var(--down)}@media (width>=900px){.info-title{font-size:36px}.info-lead{font-size:17px}.info-heading{font-size:23px}.step-body{font-size:15px}.faq-a{font-size:15.5px}}
