:root{color-scheme:dark;--bg:#0c151a;--panel:#15232a;--panel2:#1a2c33;--line:#30434a;--text:#eff3eb;--muted:#a6b7b5;--gold:#e7c886;--teal:#69d2bd;--rise:#ef8179;--fall:#69d2bd;--red:#ef9c92;--blue:#8dc4e4;--shadow:0 22px 60px #020b0e70;font-family:"Microsoft YaHei UI","Noto Sans CJK SC",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;background:radial-gradient(circle at 8% -8%,#285459 0,transparent 36%),radial-gradient(circle at 100% 20%,#3c3138 0,transparent 28%),var(--bg);color:var(--text);line-height:1.55}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.46}
[hidden]{display:none!important}
.page-shell{max-width:1440px;margin:0 auto;padding:0 clamp(18px,4vw,58px)}
.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #63808045}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.05em;font-size:1.05rem;white-space:nowrap}
.brand-mark{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:8px;color:var(--gold);font-size:1.5rem;line-height:1;transform:rotate(45deg)}
.brand-mark::first-letter{transform:rotate(-45deg)}
.topbar-right{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:.86rem}
.local-badge{color:var(--gold);border:1px solid #e7c8866b;background:#e7c88613;border-radius:99px;padding:5px 11px;white-space:nowrap}
.hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);align-items:end;gap:36px;padding:54px 0 44px}
.eyebrow,.section-kicker{margin:0;color:var(--gold);letter-spacing:.19em;font-size:.69rem;font-weight:800}
h1{font-size:clamp(2.55rem,5vw,5.2rem);letter-spacing:-.07em;line-height:1.16;margin:20px 0 21px;font-weight:800}
h1 em{color:var(--gold);font-style:normal}
.hero-description{max-width:560px;margin:0;color:var(--muted);font-size:1rem}
.round-panel{border:1px solid #b3d1c15c;border-radius:18px;background:linear-gradient(148deg,#28423fdb,#162a30f5 62%,#1e3032);box-shadow:var(--shadow);padding:23px 26px 21px;min-height:210px}
.round-panel-top,.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.round-panel-top{color:#d0ded6;font-size:.82rem}
.status-pill{border:1px solid #a6c1b783;border-radius:99px;padding:2px 10px;color:#dcebe2;white-space:nowrap}
.status-pill.open{background:#5cd2b627;color:#9ff0dc;border-color:#5cd2b66a}
.status-pill.closed{background:#e7c8861f;color:#f2dca9;border-color:#e7c88663}
.round-label{margin-top:19px;color:#d2e3da;font-size:.93rem}
.countdown{font-variant-numeric:tabular-nums;font-size:clamp(2.1rem,3.2vw,3.4rem);font-weight:800;letter-spacing:-.05em;line-height:1.2}
.countdown-caption{font-size:.82rem;color:#b7cbc2;min-height:1.4em}
.round-progress{height:7px;background:#092027;border-radius:99px;margin-top:18px;overflow:hidden}
.round-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--teal),var(--gold));border-radius:99px;transition:width .5s}
.round-progress-caption{display:flex;justify-content:space-between;color:#adc6bb;font-size:.67rem;margin-top:6px}
.dashboard{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.9fr);align-items:start;gap:22px;padding-bottom:35px}
.market-column,.action-column{display:grid;gap:22px;min-width:0}
.panel{border:1px solid #49606980;background:linear-gradient(150deg,#1a2a32f2,#101e25f2);border-radius:18px;box-shadow:var(--shadow);padding:clamp(20px,2.8vw,32px)}
.section-heading{align-items:center;margin-bottom:22px}
.section-heading h2{font-size:1.4rem;margin:4px 0 0;letter-spacing:.02em}
.subtle-button,.secondary-button,.primary-button{border-radius:10px;min-height:40px;padding:9px 15px;border:1px solid transparent;transition:background .2s,border-color .2s,transform .2s;white-space:nowrap}
.subtle-button{background:transparent;color:#c8ddd6;border-color:#7fa89b70}
.subtle-button:hover:not(:disabled){background:#8abbaa22;border-color:#a8d7c8}
.secondary-button{background:#204046;color:#d8f2ea;border-color:#5d918d8a;font-weight:700}
.secondary-button:hover:not(:disabled){background:#2a5558}
.primary-button{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--gold);color:#1a2628;font-weight:800}
.primary-button:hover:not(:disabled){background:#f4dca8;transform:translateY(-1px)}
.market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.asset-card{position:relative;overflow:hidden;border:1px solid #5a746e75;border-radius:13px;padding:21px;background:linear-gradient(145deg,#26413f8c,#18292f 70%);min-height:165px}
.asset-card::before{content:"";position:absolute;right:-30px;top:-50px;width:150px;height:150px;border:1px solid #8ccbb62f;border-radius:50%;box-shadow:0 0 0 29px #8ccbb611,0 0 0 58px #8ccbb607}
.asset-card.paused{border-color:#e7c8868c;background:linear-gradient(145deg,#4b4033a8,#1d2a2d 70%)}
.asset-top{display:flex;align-items:start;justify-content:space-between;gap:8px;position:relative}
.asset-symbol{color:var(--teal);letter-spacing:.16em;font-size:.72rem;font-weight:800}
.asset-name{font-size:1.05rem;font-weight:750;margin-top:3px}
.asset-paused{font-size:.7rem;color:var(--gold);border:1px solid #e7c88680;padding:1px 7px;border-radius:99px}
.asset-price{font-size:2rem;line-height:1.2;font-weight:800;letter-spacing:-.03em;margin-top:16px;font-variant-numeric:tabular-nums;position:relative}
.asset-change{position:relative;font-size:.76rem;margin:4px 0 9px;color:var(--muted);font-weight:700}
.asset-change.rising,.chart-change.rising{color:var(--rise)}
.asset-change.falling,.chart-change.falling{color:var(--fall)}
.asset-bottom{display:flex;justify-content:space-between;gap:12px;font-size:.76rem;color:var(--muted);position:relative}
.up{color:var(--rise)}.down{color:var(--fall)}
.fine-print,.form-note,.section-intro{font-size:.8rem;color:var(--muted)}
.fine-print{margin:17px 0 0}
.chart-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:23px}
.chart-tabs button{min-width:0;border:1px solid #52706f;background:#11252b;border-radius:9px;color:#c4d6d1;padding:8px 7px;text-align:center;font-size:.78rem;font-weight:700}
.chart-tabs button span{display:block;font-size:.63rem;letter-spacing:.13em;color:#84a7a2}
.chart-tabs button[aria-pressed="true"]{border-color:var(--gold);background:#e7c88620;color:#f2e0b1}
.chart-tabs button[aria-pressed="true"] span{color:var(--gold)}
.chart-tabs button:focus-visible,#price-chart:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.chart-summary{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:12px}
.chart-summary>div{display:grid;gap:1px}
.chart-summary span{color:var(--muted);font-size:.78rem}
.chart-summary strong{font-size:2.05rem;line-height:1.2;font-variant-numeric:tabular-nums}
.chart-change{font-size:.91rem;color:var(--gold);white-space:nowrap;font-variant-numeric:tabular-nums;margin-bottom:3px}
.price-figure{margin:0}
#price-chart{display:block;width:100%;height:auto;background:linear-gradient(180deg,#0b20265c,#0b1a21b3);border:1px solid #52706f57;border-radius:12px;touch-action:pan-y}
.chart-grid-line{stroke:#57706e66;stroke-width:1}
.chart-grid-vertical{stroke:#57706e3d;stroke-width:1;stroke-dasharray:3 6}
.chart-axis-label{fill:#8fa8a4;font-size:11px;font-family:ui-monospace,Consolas,monospace}
.chart-area.rising{fill:#ef817921}.chart-area.falling{fill:#69d2bd20}.chart-area.steady{fill:#e7c8861f}
.chart-index-line{fill:none;stroke:var(--blue);stroke-width:2;stroke-dasharray:6 5;stroke-linejoin:round;opacity:.88}
.chart-spot-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chart-spot-line.rising{stroke:var(--rise)}.chart-spot-line.falling{stroke:var(--fall)}.chart-spot-line.steady{stroke:var(--gold)}
.chart-last-guide{stroke:#9ab4ac73;stroke-width:1;stroke-dasharray:4 5}
.chart-focus-guide{stroke:#d1dbd28f;stroke-width:1;stroke-dasharray:4 5}
.chart-index-dot{fill:var(--blue);stroke:#132832;stroke-width:2}
.chart-spot-dot{stroke:#17262b;stroke-width:2;fill:var(--gold)}
.chart-spot-dot.rising{fill:var(--rise)}.chart-spot-dot.falling{fill:var(--fall)}
.price-figure figcaption{display:flex;gap:19px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:.75rem}
.chart-legend{display:flex;align-items:center;gap:7px}
.chart-legend i{display:inline-block;width:20px;height:0;border-top:3px solid var(--rise)}
.chart-legend .legend-index{border-top:2px dashed var(--blue)}
.chart-detail{border:1px solid #53757265;border-radius:8px;background:#192d3180;color:#d6e4dd;padding:9px 12px;margin:15px 0 0;min-height:42px;font-size:.76rem;font-variant-numeric:tabular-nums}
.news-list{display:grid;gap:10px}
.news-item{border-left:2px solid var(--gold);padding:5px 0 8px 15px}
.news-meta{font-size:.72rem;color:var(--gold);letter-spacing:.07em}
.news-item h3{margin:4px 0;font-size:.96rem}
.news-item p{margin:0;color:#c7d6d0;font-size:.84rem;line-height:1.6}
.quiet-count{color:var(--muted);font-size:.76rem}
.empty-state{color:var(--muted);font-size:.84rem;margin:6px 0}
.section-intro{margin:-7px 0 22px;line-height:1.7}
.stack-form{display:grid;gap:13px}
.stack-form label,.impact-group>span{display:grid;gap:6px;color:#c8d7d0;font-size:.78rem;font-weight:650}
input,select,textarea{width:100%;background:#0d1c23;border:1px solid #42606b;border-radius:9px;min-height:42px;padding:9px 11px;color:var(--text);outline:none}
textarea{resize:vertical;min-height:76px}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #69d2bd27}
input::placeholder,textarea::placeholder{color:#78918f}
.stack-form>.primary-button,.stack-form>.secondary-button{margin-top:3px}
#logout-button{width:100%}
.account-id{font-family:ui-monospace,Consolas,monospace;color:var(--gold);font-size:.8rem}
.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}
.balance-grid>div{border:1px solid #53757265;border-radius:12px;background:#1c343866;padding:13px 15px;display:grid;gap:3px}
.balance-grid span{color:var(--muted);font-size:.75rem}
.balance-grid strong{font-size:1.55rem;color:#f5e7c6;font-variant-numeric:tabular-nums}
.role-panel h3{font-size:.91rem;margin:20px 0 10px;color:#ecede5}
.compact-list{display:grid;gap:7px}
.list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #7d9a9650;padding:8px 0;font-size:.8rem}
.list-row:last-child{border-bottom:0}
.list-row strong{color:#f0eadc;font-variant-numeric:tabular-nums}
.list-row small{display:block;color:var(--muted);font-size:.71rem}
.list-row .subtle-button{font-size:.7rem;min-height:30px;padding:4px 8px}
.divider{height:1px;background:#5f7c7966;margin:24px 0}
.form-pair,.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.inline-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}
.inline-controls button{padding-inline:11px}
.token-reset{grid-template-columns:minmax(0,1fr) auto;margin-top:10px}
.token-box{border:1px solid #e7c88680;border-radius:10px;background:#e7c88617;padding:13px;margin-top:13px}
.token-box p{margin:0 0 8px;color:#e7d7ad;font-size:.78rem}
.token-box code{display:block;overflow-wrap:anywhere;font-size:.73rem;color:#f8e2ac;margin-bottom:9px}
.impact-group{display:grid;gap:8px}
.impact-grid{grid-template-columns:repeat(4,1fr);gap:7px}
.impact-grid label{font-size:.71rem}.impact-grid input{padding-inline:7px}
.footer{padding:12px 0 36px;color:#76918e;font-size:.72rem;text-align:center}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:5;background:#e7c886;color:#17272a;border-radius:12px;box-shadow:var(--shadow);max-width:min(520px,calc(100vw - 32px));padding:12px 18px;font-size:.86rem;font-weight:700;text-align:center}
.toast.error{background:#eaa59b;color:#321e20}
@media(max-width:990px){.dashboard{grid-template-columns:1fr}.action-column{grid-row:1}.hero{grid-template-columns:1fr 300px}.market-column{grid-row:2}}
@media(max-width:650px){.page-shell{padding-inline:16px}.topbar{min-height:68px}.brand{font-size:.88rem}.brand-mark{width:24px;height:24px}.connection-label{display:none}.hero{grid-template-columns:1fr;padding:34px 0 24px;gap:23px}.hero-description{font-size:.9rem}.round-panel{min-height:0}.panel{padding:20px}.market-grid{gap:9px}.asset-card{padding:15px;min-height:150px}.asset-price{font-size:1.6rem}.asset-name{font-size:.9rem}.section-heading h2{font-size:1.2rem}.section-kicker{font-size:.62rem}.impact-grid{grid-template-columns:repeat(2,1fr)}.inline-controls{grid-template-columns:1fr 1fr}.inline-controls select{grid-column:1/-1}}
@media(max-width:650px){.chart-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-tabs button span{display:inline;margin-left:6px}.chart-summary strong{font-size:1.65rem}.chart-change{font-size:.78rem}.chart-axis-label{font-size:12px}.chart-detail{line-height:1.7}.price-figure figcaption{gap:10px}}
.access-details{margin-top:16px;border-top:1px solid #53757265;padding-top:13px}
.access-details summary{cursor:pointer;color:var(--gold);font-size:.8rem;font-weight:700}
.access-details .stack-form{margin-top:13px}
.nickname-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin-bottom:20px}
.nickname-form label{display:grid;gap:5px;color:var(--muted);font-size:.75rem}
.leaderboard-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 8px;border-bottom:1px solid #7d9a9650;font-size:.83rem}
.leaderboard-row:last-child{border-bottom:0}
.leaderboard-row.mine{background:#e7c88618;border-radius:8px}
.leaderboard-rank{color:var(--gold);font-weight:800;font-variant-numeric:tabular-nums}
.leaderboard-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.leaderboard-wealth{font-variant-numeric:tabular-nums;color:#f5e7c6;font-weight:800}
.invite-list{display:grid;gap:12px;margin-bottom:20px}
.invite-card{border:1px solid #53757265;border-radius:12px;padding:14px;background:#1c343866;display:grid;justify-items:center;gap:10px}
.invite-card img{width:210px;height:210px;max-width:100%;background:white;padding:8px;border-radius:9px}
.invite-card a{color:var(--gold);overflow-wrap:anywhere;text-align:center;font-size:.8rem}
.invite-card button{width:100%}
.position-card{border:1px solid #53757265;border-radius:11px;background:#1c343866;padding:13px 15px}
.position-head{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:11px;font-size:.84rem}
.position-direction{color:var(--gold);font-weight:800;white-space:nowrap}
.position-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
.position-metrics>div{display:grid;gap:2px}
.position-metrics span,.position-risk{font-size:.7rem;color:var(--muted)}
.position-metrics strong{font-size:.84rem;color:#f0eadc;font-variant-numeric:tabular-nums}
.position-risk{margin:12px 0 0;border-top:1px solid #53757265;padding-top:8px}
[hidden]{display:none!important}
.import-preview{white-space:pre-wrap;overflow-wrap:anywhere;max-height:170px;overflow:auto;border:1px solid #53757265;border-radius:9px;background:#0d1c23;padding:11px;color:#c8ddd6;font-size:.76rem}
#budget-field .subtle-button,#quantity-field .subtle-button{justify-self:start}
#admin-player-orders .list-row{flex-wrap:wrap}
@media(max-width:650px){.leaderboard-row{grid-template-columns:26px minmax(0,1fr) auto;gap:7px}.nickname-form{grid-template-columns:1fr}.nickname-form button{width:100%}}
