:root{--bg:#080a08;--panel:#10130f;--panel-2:#151912;--gold:#e2b64d;--gold-2:#9c7224;--mint:#62c6a0;--coral:#df746b;--text:#f3f0e7;--muted:#989e93;--line:rgba(226,182,77,.2);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;background:var(--bg);color:var(--text);font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;letter-spacing:0}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{touch-action:manipulation}.is-hidden{display:none!important}
.toast{position:fixed;z-index:100;left:50%;top:calc(18px + env(safe-area-inset-top,0px));width:max-content;max-width:calc(100% - 36px);padding:11px 15px;border:1px solid var(--line);background:#161a14;color:var(--text);font-size:13px;opacity:0;transform:translate(-50%,-12px);pointer-events:none;transition:.2s}.toast.is-visible{opacity:1;transform:translate(-50%,0)}
.auth-screen{min-height:100dvh;padding:calc(24px + env(safe-area-inset-top,0px)) 20px calc(30px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;background:radial-gradient(circle at 85% 12%,rgba(226,182,77,.12),transparent 30%),linear-gradient(165deg,#0b0d0a,#060706 66%)}
.auth-brand,.app-brand{display:flex;align-items:center;gap:11px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(226,182,77,.32);background:#17150d}.brand-mark img{width:35px;height:35px;object-fit:contain}.brand-mark.small{width:34px;height:34px}.brand-mark.small img{width:25px;height:25px}.auth-brand div,.app-brand div{display:grid;gap:2px}.auth-brand strong,.app-brand strong{font-size:16px}.auth-brand small,.app-brand small{font-size:9px;color:var(--gold);letter-spacing:.12em}
.auth-copy{margin:56px 0 34px}.auth-copy p,.view-heading p,.section-title p,.install-dialog>p,.casting-dialog>p{margin:0;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.16em}.auth-copy h1{margin:12px 0 16px;font-size:34px;line-height:1.25}.auth-copy span{color:var(--muted);font-size:14px;line-height:1.75}.auth-panel{padding:18px;border:1px solid var(--line);background:rgba(16,19,15,.92)}
.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.08);margin-bottom:18px}.segmented button{height:42px;border:0;background:transparent;color:var(--muted)}.segmented button.is-active{background:rgba(226,182,77,.14);color:#f2cc73}
.auth-form{display:grid;gap:15px}.auth-form label,.cast-form label{display:grid;gap:7px;color:#c4c8bf;font-size:12px}.auth-form input,.cast-form input,.cast-form select,.instrument-panel>select,.agent-form textarea{width:100%;min-height:47px;padding:0 13px;border:1px solid rgba(255,255,255,.1);border-radius:0;background:#090b09;color:var(--text);outline:0}.auth-form input:focus,.cast-form input:focus,.cast-form select:focus,.instrument-panel>select:focus,.agent-form textarea:focus{border-color:rgba(226,182,77,.62)}
.inline-field,.price-field{display:grid;grid-template-columns:1fr auto}.inline-field button,.price-field button{min-width:105px;border:1px solid rgba(226,182,77,.35);background:#18170f;color:#e7c46c}.agree-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}.agree-row input{width:18px;height:18px;min-height:0}.primary-button,.run-button,.cast-button{min-height:50px;border:1px solid var(--gold);background:linear-gradient(135deg,#edc65e,#ad7c25);color:#0c0d09;font-weight:800}.form-status{min-height:18px;margin:12px 0 0;color:var(--muted);font-size:12px}.form-status.is-error{color:#ff8b84}.register-link{display:block;margin-top:10px;color:#d8b55f;text-decoration:none;font-size:12px}.auth-note{margin:auto 0 0;padding-top:24px;color:#6f756d;font-size:11px;line-height:1.65}
.app-shell{min-height:100dvh}.app-header{position:sticky;z-index:40;top:0;min-height:60px;padding:calc(8px + env(safe-area-inset-top,0px)) 14px 8px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);background:rgba(8,10,8,.94);backdrop-filter:blur(14px)}.app-brand{margin-right:auto}.install-button{height:34px;padding:0 11px;border:1px solid rgba(226,182,77,.4);background:transparent;color:var(--gold)}.account-button{height:38px;padding:0 10px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);background:#10130f;color:#daddd5}.account-button span{font-size:10px}.account-button b{font-size:11px;color:var(--gold)}
.app-main{padding:0 14px calc(84px + var(--safe-bottom))}.app-view{display:none;padding:24px 0}.app-view.is-active{display:block}.view-heading{margin-bottom:22px}.view-heading h1{margin:7px 0 5px;font-size:28px}.view-heading>span{color:var(--muted);font-size:12px}
.market-pulse{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-bottom:16px}.market-pulse article{min-width:0;padding:13px 10px;border-right:1px solid var(--line)}.market-pulse article:last-child{border-right:0}.market-pulse span,.market-pulse small{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-pulse strong{display:block;margin:7px 0 4px;font-size:18px;color:#f3d784}.is-positive{color:var(--mint)!important}.is-negative{color:var(--coral)!important}
.instrument-panel{padding:16px;border:1px solid var(--line);background:var(--panel)}.section-title{min-height:40px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title h2{margin:4px 0 0;font-size:18px}.icon-button{width:40px;height:40px;border:1px solid rgba(226,182,77,.35);background:transparent;color:var(--gold);font-size:20px}.instrument-panel>select{margin-bottom:12px}
.instrument-overview{display:grid;grid-template-columns:1.2fr 1fr 1fr;border:1px solid rgba(255,255,255,.08)}.instrument-overview.loading{display:block;padding:18px;color:var(--muted)}.instrument-overview>div{min-width:0;padding:12px 9px;border-right:1px solid rgba(255,255,255,.08)}.instrument-overview>div:last-child{border-right:0}.instrument-overview small,.instrument-overview span{display:block;color:var(--muted);font-size:9px}.instrument-overview strong{display:block;margin:7px 0 4px;font-size:14px;overflow:hidden;text-overflow:ellipsis}.instrument-chart{height:210px;margin-top:12px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);background:#090b09;color:var(--muted);overflow:hidden}.instrument-chart svg{display:block;width:100%;height:100%}
.timeframe-list{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;border:1px solid rgba(255,255,255,.08)}.timeframe-list article{padding:11px 8px;border-right:1px solid rgba(255,255,255,.08)}.timeframe-list article:last-child{border-right:0}.timeframe-list b,.timeframe-list strong,.timeframe-list span{display:block}.timeframe-list b{color:var(--gold);font-size:10px}.timeframe-list strong{margin:6px 0;font-size:11px}.timeframe-list span{color:var(--muted);font-size:9px;line-height:1.45}.scenario-box{margin-top:12px;display:grid;gap:8px}.scenario-box article{padding:11px;border-left:2px solid var(--gold);background:#0c0f0b}.scenario-box b{font-size:11px}.scenario-box p{margin:5px 0;color:#b9bdb5;font-size:11px;line-height:1.55}.scenario-box small{color:#737a71;font-size:10px}.run-button{width:100%;margin-top:14px;display:grid;place-items:center;padding:8px}.run-button span{font-size:14px}.run-button small{font-weight:500;font-size:10px;opacity:.72}
.official-pulse{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:24px}.official-pulse.loading,.event-list.loading{display:block;padding:20px;border:1px solid var(--line);color:var(--muted)}.official-pulse article{padding:13px;border:1px solid var(--line);background:var(--panel)}.official-pulse small,.official-pulse span,.official-pulse em{display:block}.official-pulse small{color:var(--muted);font-size:10px}.official-pulse strong{display:block;margin:8px 0 5px;color:#f0d27e;font-size:18px}.official-pulse span{font-size:10px}.official-pulse em{margin-top:7px;color:#626961;font-size:8px;font-style:normal}.event-list{display:grid;gap:9px}.event-card{display:grid;grid-template-columns:58px 1fr auto;gap:11px;align-items:start;padding:13px;border:1px solid rgba(255,255,255,.08);background:var(--panel)}.event-card time{color:var(--gold);font-size:13px;font-weight:800}.event-card time small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.event-card span,.event-card p{color:var(--muted);font-size:10px}.event-card h3{margin:4px 0;font-size:13px}.event-card p{margin:0;line-height:1.5}.event-card>b{padding:4px 6px;border:1px solid rgba(226,182,77,.3);color:#d6b45e;font-size:9px}
.prompt-chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:7px}.prompt-chips button{flex:0 0 auto;height:34px;padding:0 11px;border:1px solid rgba(226,182,77,.26);background:#11140f;color:#d8c797;font-size:11px}.agent-log{min-height:360px;max-height:58dvh;margin:8px 0 12px;padding:12px;overflow:auto;border:1px solid var(--line);background:#0b0e0a}.agent-welcome{padding:16px;border-left:2px solid var(--mint);background:rgba(98,198,160,.05)}.agent-welcome strong,.agent-welcome span{display:block}.agent-welcome span{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.65}.agent-turn{margin:10px 0;padding:11px 12px;background:#121610}.agent-turn.is-user{margin-left:24px;border-right:2px solid var(--gold)}.agent-turn.is-assistant{margin-right:12px;border-left:2px solid var(--mint)}.agent-turn small{display:block;margin-bottom:7px;color:var(--gold);font-size:9px}.agent-turn p,.agent-turn li{margin:5px 0;color:#d4d8d0;font-size:13px;line-height:1.7}.agent-turn h3{margin:12px 0 6px;font-size:15px}.agent-turn.is-thinking{animation:pulse 1.2s infinite}.agent-form textarea{min-height:84px;padding:12px;resize:vertical}.agent-form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.agent-form button{min-height:42px;padding:0 17px}.agent-form #new-conversation{border:1px solid rgba(255,255,255,.12);background:#10130f;color:var(--muted)}
.cast-form{display:grid;gap:13px;padding:16px;border:1px solid var(--line);background:var(--panel)}.cast-form>small{color:#737a71;font-size:10px}.cast-button{width:100%}.hex-result{margin-top:14px}.hex-result.is-empty{opacity:.7}.hex-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.hex-pair article{min-height:176px;padding:13px;text-align:center;border:1px solid var(--line);background:#0d100c}.hex-pair article>small,.hex-pair article>span{display:block;color:var(--muted);font-size:9px}.hex-pair article>strong{display:block;margin:10px 0 5px;font-size:14px}.hex-pair>i{color:var(--gold);font-style:normal}.hex-lines{height:82px;margin:10px auto;display:flex;flex-direction:column-reverse;justify-content:space-between}.hex-line{position:relative;height:7px;background:#d8b456}.hex-line.yin{background:linear-gradient(90deg,#d8b456 0 42%,transparent 42% 58%,#d8b456 58%)}.hex-line.is-moving:after{content:"动";position:absolute;right:-3px;top:-5px;color:var(--coral);font-size:8px}.symbol-meter{display:grid;grid-template-columns:repeat(3,1fr);margin-top:10px;border:1px solid rgba(255,255,255,.08)}.symbol-meter div{padding:11px;text-align:center;border-right:1px solid rgba(255,255,255,.08)}.symbol-meter div:last-child{border-right:0}.symbol-meter small,.symbol-meter strong{display:block}.symbol-meter small{color:var(--muted);font-size:9px}.symbol-meter strong{margin-top:5px;font-size:17px}.reading-list{display:grid;gap:9px;margin-top:10px}.reading-list article{padding:14px;border:1px solid rgba(255,255,255,.08);background:#0f120e}.reading-list small{color:var(--gold);font-size:9px}.reading-list h3{margin:6px 0 8px;font-size:15px}.reading-list p{margin:0;color:#b8bdb4;font-size:13px;line-height:1.75}.reading-list article.plain{border-color:rgba(98,198,160,.3);background:rgba(98,198,160,.05)}.reading-list article.plain p{color:#e0e8df;font-size:14px}
.account-summary{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--line)}.account-summary div{padding:14px 9px;border-right:1px solid var(--line)}.account-summary div:last-child{border-right:0}.account-summary span,.account-summary strong{display:block}.account-summary span{color:var(--muted);font-size:9px}.account-summary strong{margin-top:6px;color:#f2d078;font-size:16px;overflow:hidden;text-overflow:ellipsis}.account-actions{display:grid;gap:9px;margin-top:14px}.account-actions button,.account-actions a{padding:15px;display:grid;gap:5px;text-align:left;text-decoration:none;border:1px solid rgba(255,255,255,.09);background:var(--panel);color:var(--text)}.account-actions span{color:var(--muted);font-size:11px}.logout-button{width:100%;height:48px;margin-top:18px;border:1px solid rgba(223,116,107,.35);background:transparent;color:#ef8d85}
.bottom-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;height:calc(64px + var(--safe-bottom));padding:0 5px var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:rgba(8,10,8,.97);backdrop-filter:blur(16px)}.bottom-nav button{min-width:0;border:0;background:transparent;color:#72786f}.bottom-nav i,.bottom-nav span{display:block}.bottom-nav i{width:25px;height:25px;margin:6px auto 2px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);font-style:normal;font-size:11px}.bottom-nav span{font-size:9px}.bottom-nav button.is-active{color:var(--gold)}.bottom-nav button.is-active i{border-color:var(--gold);background:rgba(226,182,77,.09)}
.modal{position:fixed;z-index:90;inset:0;padding:18px;display:grid;place-items:center;background:rgba(0,0,0,.82)}.casting-dialog,.install-dialog{position:relative;width:min(100%,390px);padding:26px 20px;border:1px solid rgba(226,182,77,.38);background:#10130f;text-align:center}.casting-dialog h2,.install-dialog h2{margin:9px 0}.casting-dialog>span{color:var(--muted);font-size:12px}.tube{position:relative;width:86px;height:122px;margin:0 auto 20px;border:2px solid #b98c34;border-top:0;background:linear-gradient(90deg,#3b290f,#8a5e20 50%,#3b290f);transform-origin:center bottom;animation:shakeTube .72s ease-in-out infinite}.tube i{position:absolute;bottom:76px;width:5px;height:72px;background:#d7b56d;transform-origin:center bottom}.tube i:nth-child(1){left:18px;transform:rotate(-13deg)}.tube i:nth-child(2){left:32px;transform:rotate(-5deg)}.tube i:nth-child(3){left:43px;transform:rotate(2deg)}.tube i:nth-child(4){left:55px;transform:rotate(10deg)}.tube i:nth-child(5){left:65px;transform:rotate(16deg)}.progress{height:5px;margin-top:18px;background:#25291f}.progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--gold-2),var(--gold));transition:width .6s ease}.modal-close{position:absolute;right:8px;top:8px;width:36px;height:36px;border:0;background:transparent;color:var(--muted);font-size:24px}.install-dialog{text-align:left}.install-dialog #install-steps{color:#b8bdb4;font-size:13px;line-height:1.75}.install-dialog .primary-button{width:100%;margin-top:14px}
@keyframes pulse{50%{opacity:.55}}@keyframes shakeTube{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(6deg) translateY(-4px)}}
@media(min-width:760px){body{display:grid;place-items:start center}.auth-screen,.app-shell{width:min(100%,560px);border-left:1px solid var(--line);border-right:1px solid var(--line)}.bottom-nav{left:50%;right:auto;width:min(100%,560px);transform:translateX(-50%)}}
@media(max-width:360px){.app-main{padding-left:10px;padding-right:10px}.market-pulse strong{font-size:15px}.hex-pair{gap:6px}.hex-pair article{padding:9px}.instrument-overview strong{font-size:12px}}
