:root{--bg:#080c10;--panel:#0d1318;--panel2:#111820;--line:rgba(0,255,210,.12);--line2:rgba(255,255,255,.1);--mint:#00ffd2;--pink:#ff2d8a;--purple:#9b6dff;--amber:#ffd600;--txt:#e8f4f0;--dim:rgba(232,244,240,.28);--dim2:rgba(232,244,240,.55);--mono:ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{background:var(--bg);color:var(--txt);font-family:"PingFang SC","Helvetica Neue",Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}.deck{min-height:100vh;background:var(--bg)}.app{position:relative;overflow-x:hidden}.app.withtabs{padding-bottom:64px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px}.cap{font:700 9px/1.2 var(--mono);letter-spacing:2px;color:var(--dim);text-transform:uppercase}.av{display:grid;place-items:center;border-radius:50%;background:linear-gradient(140deg,#123a4a,#0e2a3a);color:var(--mint);font-weight:700}.btn{border:1px solid var(--line);background:#111820;color:var(--txt);border-radius:8px;padding:11px 16px}.btn:active{transform:translateY(1px)}.btn-primary{border-color:transparent;background:linear-gradient(90deg,var(--mint),#00e0ff);color:#04121a;font-weight:800}.btn-ghost{background:transparent;color:var(--dim2)}.btn-danger{border-color:rgba(255,45,138,.35);background:transparent;color:#ff7a9c}

/* 登录 / 家庭接入 */
.gate{position:relative;min-height:100vh;overflow:auto;padding:0 22px 40px;background:#071019;color:#e5f8ff}.gate::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(#17384a 1px,transparent 1px),linear-gradient(90deg,#17384a 1px,transparent 1px),radial-gradient(circle at 50% -8%,rgba(13,107,138,.6),transparent 38%);background-size:36px 36px,36px 36px,auto;mask-image:linear-gradient(to bottom,#000,transparent 82%);-webkit-mask-image:linear-gradient(to bottom,#000,transparent 82%)}.gate-wrap{position:relative;z-index:1;max-width:760px;margin:0 auto}.gate-brand{min-height:78px;margin:16px -4px 22px;padding:11px 16px;display:flex;align-items:center;gap:12px;border-top:2px solid #56e0ff;border-bottom:1px solid rgba(86,224,255,.35);background:linear-gradient(90deg,rgba(6,17,26,.94),rgba(7,16,25,.72));clip-path:polygon(0 0,100% 0,97% 100%,3% 100%);color:#56e0ff;text-shadow:0 0 14px rgba(0,200,255,.5)}.gate-orbit{width:42px;height:42px;display:grid;place-items:center;border:2px solid #56e0ff;border-radius:50%;font-size:25px;box-shadow:0 0 14px rgba(0,217,255,.53),inset 0 0 12px rgba(0,217,255,.27);transform:rotate(-20deg);flex:none}.gate-brand b{display:block;color:#e5f8ff;font-size:1.65rem;letter-spacing:.18em;line-height:1}.gate-brand small{display:block;margin-top:4px;font-style:italic;font-size:.72rem;letter-spacing:.11em}.gate h1{margin:0 0 14px;font-size:1.28rem;letter-spacing:.12em}.gpanel{padding:22px 20px;border:1px solid #168db6;background:linear-gradient(135deg,rgba(12,29,43,.98),rgba(7,19,29,.97));box-shadow:inset 0 0 32px rgba(10,152,200,.2),0 0 40px rgba(18,56,76,.33);clip-path:polygon(13px 0,calc(100% - 13px) 0,100% 13px,100% calc(100% - 13px),calc(100% - 13px) 100%,13px 100%,0 calc(100% - 13px),0 13px)}.picker{text-align:center;padding:10px 0 4px}.picker h2{margin:4px 0 8px;font-size:1.05rem}.picker>p{margin:0 0 22px;color:#89b9c9;font-size:12.5px}.pgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;padding:6px 0 10px}.pchoice{width:100px;display:flex;flex-direction:column;align-items:center;gap:7px;padding:5px;border:0;background:transparent;color:#e8f4f0;font-size:.88rem}.pchoice .a,.sel-pilot .a{display:grid;place-items:center;border:2px solid #56e0ff;border-radius:50%;background:#113448;color:#56e0ff;box-shadow:0 0 16px rgba(0,217,255,.4)}.pchoice .a{width:68px;height:68px;font-size:1.75rem;transition:.18s}.pchoice:hover .a{transform:translateY(-2px);box-shadow:0 0 23px rgba(0,217,255,.6)}.pchoice small{height:12px;color:#65f6ad;font-size:.66rem}.picker-note{margin-top:18px!important;font-size:11.5px!important;opacity:.65}.sel-pilot{display:flex;flex-direction:column;align-items:center;gap:9px;margin:2px 0 22px;font-size:1.05rem}.sel-pilot .a{width:70px;height:70px;font-size:1.8rem}.gform{position:relative;max-width:290px;margin:0 auto;text-align:left}.gform label{display:block;margin-bottom:9px;text-align:center;color:#89b9c9;font-size:.78rem}.pinrow{display:flex;justify-content:center;gap:8px;margin-bottom:4px}.pinrow i{width:44px;height:52px;display:grid;place-items:center;border:1px solid #32677c;border-radius:8px;background:#06111a;color:#fff;font:700 1.5rem var(--mono);font-style:normal}.pinrow i.filled{border-color:#56e0ff;box-shadow:0 0 12px rgba(0,217,255,.4)}.pinrow.bad i{border-color:#ff8f9b;box-shadow:0 0 12px rgba(255,143,155,.4)}#pin-input{position:absolute;z-index:2;top:25px;left:0;width:100%;height:52px;margin:0;opacity:0}.genter{width:100%;margin-top:16px;padding:13px;border:0;border-radius:6px;background:linear-gradient(90deg,#00bde9,#00ffd2);color:#06121a;font-weight:800}.gerr{min-height:1.2em;margin:10px 0 0;color:#ff8f9b;font-size:.8rem;text-align:center}.ghint{margin-top:14px;color:#7ba7b8;font-size:11.5px;line-height:1.75;text-align:center}.gback{display:block;margin:14px auto 0;border:0;background:none;color:#89b9c9;font-size:.8rem;text-decoration:underline}

/* 任务中枢 */
.holo-topbar{position:sticky;top:0;z-index:20;height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 14px;border-bottom:1px solid var(--line);background:#080c10f5;backdrop-filter:blur(12px);font-family:var(--mono)}.traffic{display:inline-flex;gap:5px;margin-right:9px;vertical-align:middle}.traffic i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.traffic i:nth-child(2){background:#ffbd2e}.traffic i:nth-child(3){background:#28ca41}.holo-title{position:absolute;left:50%;display:flex;align-items:center;gap:9px;transform:translateX(-50%);color:var(--mint);font-size:18px;font-weight:700;letter-spacing:1px;text-shadow:0 0 18px rgba(0,255,210,.35);white-space:nowrap}.holo-avatar{width:27px;height:27px;border:2px solid var(--mint);box-shadow:0 0 10px rgba(0,255,210,.35);font-size:12px}.top-status{color:var(--dim);font:700 9px var(--mono);letter-spacing:1px}.holo-body{max-width:1400px;margin:0 auto;padding:12px}.holo-grid{display:grid;grid-template-columns:1fr;gap:12px}.holo-col{display:flex;flex-direction:column;gap:10px;min-width:0}.holo-score{padding:14px 16px}.holo-score strong{display:block;margin-top:6px;font:700 36px/1 var(--mono);letter-spacing:-1.5px}.holo-score strong b{color:var(--mint);text-shadow:0 0 16px rgba(0,255,210,.35)}.holo-score strong span{font-size:14px;color:var(--dim)}.delta{font-size:11px;color:var(--mint)}.holo-card{padding:14px 16px}.holo-ring-row{display:flex;align-items:center;gap:14px;margin-top:8px}.holo-ring{position:relative;display:grid;place-items:center;width:74px;height:74px;flex:none}.holo-ring svg{position:absolute;inset:0;width:74px;height:74px;transform:rotate(-90deg)}.holo-ring circle{fill:none;stroke:rgba(0,255,210,.1);stroke-width:8}.holo-ring .fill{stroke:var(--mint);stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(0,255,210,.7))}.holo-ring>b{font:700 15px var(--mono)}.holo-ring>small{position:absolute;top:49px;color:var(--dim);font:700 8px var(--mono)}.holo-ring-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;flex:1}.holo-ring-stats p{margin:0}.holo-ring-stats small{display:block;margin-bottom:2px;color:var(--dim);font:700 8px var(--mono);letter-spacing:1.4px}.holo-ring-stats b{font:700 13px var(--mono)}.mint{color:var(--mint)}.amber{color:var(--amber)}.holo-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}.holo-metrics article{min-width:0;padding:12px}.holo-metrics small{display:block;margin-bottom:5px;color:var(--dim);font:700 8.5px var(--mono);letter-spacing:1.4px}.holo-metrics article>b{display:block;margin-bottom:3px;font:700 24px var(--mono)}.holo-metrics .pink{color:var(--pink);text-shadow:0 0 12px rgba(255,45,138,.5)}.holo-metrics span{color:var(--dim);font-size:10px}.holo-goal{position:relative;padding:14px 16px;cursor:pointer}.holo-goal .row{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding-right:52px}.holo-goal .row span{color:var(--dim2);font-size:11px}.holo-goal .thumb{position:absolute;top:14px;right:16px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:20px}.holo-goal strong{display:block;margin-bottom:3px;font-size:13px}.holo-goal em{display:block;height:6px;overflow:hidden;margin:11px 0 8px;border-radius:99px;background:rgba(255,255,255,.07)}.holo-goal em b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--purple),var(--mint))}.holo-goal p{display:flex;justify-content:space-between;margin:0;font:700 11px var(--mono)}.holo-goal p span{color:var(--dim)}.holo-goal p b{color:var(--mint)}.goal-col{display:none}.holo-cal{padding:13px 15px}.holo-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.holo-cal-head b{color:var(--mint);font:700 12px var(--mono);letter-spacing:1px}.holo-cal-head span{color:var(--dim);font:700 10px var(--mono)}.holo-cal-wk,.holo-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.holo-cal-wk span{text-align:center;padding:2px 0;color:var(--dim);font:700 8px var(--mono)}.holo-cal-days i,.holo-cal-days button{position:relative;display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:5px;background:none;color:var(--dim2);font:600 9.5px var(--mono);font-style:normal}.holo-cal-days i.out,.holo-cal-days button.out{opacity:.22}.holo-cal-days i.today,.holo-cal-days button.today{outline:1px solid var(--mint);color:var(--mint)}.holo-cal-days i.full,.holo-cal-days button.full{background:rgba(0,255,210,.14);color:var(--mint)}.holo-cal-days i.part,.holo-cal-days button.part{background:rgba(255,45,138,.12);color:#ff8fb6}.holo-cal-days i.haswait::after{content:"";position:absolute;bottom:2px;width:3px;height:3px;border-radius:50%;background:var(--amber)}.holo-cal-open{width:100%;margin-top:10px;padding:9px 0;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--dim2);font:700 10px var(--mono);letter-spacing:1px}.holo-missions{gap:10px}.holo-missions>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:0 2px}.holo-missions>header>b{color:var(--pink);font:700 10px var(--mono);letter-spacing:2px;text-shadow:0 0 10px rgba(255,45,138,.4)}.holo-missions>header>span{color:var(--dim);font:700 10px var(--mono);letter-spacing:1px}.holo-mission-list{display:flex;flex-direction:column;gap:9px;margin:0;padding:0;list-style:none}.slot-title{display:flex;align-items:center;gap:8px;margin:2px 0 -2px}.slot-title b{color:var(--dim);font:700 9.5px var(--mono);letter-spacing:1.6px}.slot-title i{height:1px;flex:1;background:rgba(255,255,255,.07)}.holo-mission{display:flex;align-items:center;gap:11px;padding:12px 13px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:var(--panel);transition:.18s}.holo-mission:hover{border-color:rgba(0,255,210,.35)}.holo-dot{width:10px;height:10px;flex:none;border:1px solid rgba(0,255,210,.35);border-radius:50%;background:rgba(0,255,210,.2)}.holo-mission.next{border-color:rgba(155,109,255,.35);background:rgba(155,109,255,.07)}.holo-mission.next .holo-dot{background:var(--purple);box-shadow:0 0 8px var(--purple)}.holo-mission.lock{opacity:.62}.holo-mission.lock .holo-dot{border-color:var(--amber);background:rgba(255,214,0,.55)}.holo-mission.reject{background:rgba(255,45,138,.05)}.holo-mission.reject .holo-dot{background:var(--pink)}.holo-mission.done .holo-dot{background:var(--mint);box-shadow:0 0 8px var(--mint)}.holo-mission.wait .holo-dot{background:var(--amber);box-shadow:0 0 8px var(--amber)}.holo-mission-body{min-width:0;flex:1}.holo-mission-body>b{display:block;overflow:hidden;margin-bottom:3px;font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}.holo-mission-body>small{color:var(--dim);font:700 9.5px var(--mono);letter-spacing:.6px}.holo-mission-right{display:flex;flex:none;flex-direction:column;align-items:flex-end;gap:4px;font:700 9px var(--mono);letter-spacing:1.2px}.holo-mission-right>span{padding:3px 7px;border:1px solid rgba(255,255,255,.08);border-radius:5px;background:rgba(255,255,255,.05);color:var(--dim)}.holo-mission-right>b{color:var(--mint);font-size:11px}.holo-mission-right .quick{margin:0;padding:4px 9px;border:1px solid rgba(0,255,210,.34);border-radius:5px;background:transparent;color:var(--mint);font:700 9px var(--mono)}.holo-tabs{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;align-items:center;height:52px;border-top:1px solid var(--line);background:#080c10fa;backdrop-filter:blur(12px)}.holo-tabs button{display:flex;align-items:center;justify-content:center;gap:6px;height:100%;flex:1;margin:0;padding:0;border:0;border-right:1px solid var(--line);border-radius:0;background:none;color:var(--dim);font:700 10px var(--mono);letter-spacing:1.4px}.holo-tabs button.active{color:var(--mint);box-shadow:inset 0 -2px var(--mint)}.holo-tabs>b{display:flex;align-items:center;gap:6px;height:100%;padding:0 12px;border-left:1px solid var(--line);color:var(--amber);font:700 10px var(--mono);white-space:nowrap}.holo-tabs>b i{width:6px;height:6px;border-radius:50%;background:var(--amber);box-shadow:0 0 6px var(--amber)}.holo-menu{display:none}

/* 奖励、账单、资料 */
.page-panel{max-width:1000px;margin:0 auto}.page-summary{padding:14px 16px;margin-bottom:12px}.page-summary>div{display:flex;align-items:baseline;justify-content:space-between;margin-top:6px}.page-summary b{color:var(--mint);font:700 22px var(--mono)}.page-summary span{color:var(--dim2);font-size:11.5px}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reward-card{display:flex;overflow:hidden;flex-direction:column}.reward-icon{position:relative;display:grid;place-items:center;aspect-ratio:4/3;background:var(--panel2);font-size:32px}.reward-icon span{position:absolute;top:7px;left:7px;padding:3px 6px;border-radius:5px;background:var(--mint);color:#04121a;font:700 9px var(--mono)}.reward-copy{display:flex;flex-direction:column;gap:3px;min-width:0;padding:9px 11px 2px}.reward-copy b{overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.reward-copy small{color:var(--amber);font:700 11px var(--mono)}.reward-actions{display:flex;gap:7px;padding:7px 11px 4px}.reward-actions .btn{flex:1;padding:7px 0;font-size:11px}.reward-card>p{margin:0;padding:0 11px 10px;color:var(--amber);font-size:10.5px}.ledger ul{margin:0;padding:0;list-style:none}.ledger li{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;padding:12px 13px}.ledger li>div:last-child{text-align:right}.ledger li b{display:block;font-size:13px}.ledger small{display:block;margin-top:3px;color:var(--dim);font:700 9px var(--mono)}.pos{color:var(--mint)}.neg{color:#ff7a9c}.profile-card{display:flex;flex-direction:column;align-items:center;padding:22px 18px;text-align:center}.profile-avatar{width:84px;height:84px;margin-bottom:10px;font-size:2rem}.profile-card h2{margin:0 0 4px;font-size:17px}.profile-stats{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:420px;gap:8px;margin:16px 0}.profile-stats p{margin:0;padding:11px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);text-align:left}.profile-stats small{display:block;margin-bottom:4px;color:var(--dim);font:700 8px var(--mono);letter-spacing:1px}.profile-stats b{color:var(--mint);font:700 16px var(--mono)}.profile-card .holo-goal{width:100%;max-width:420px;text-align:left}.profile-actions{display:flex;gap:8px;width:100%;max-width:420px;margin-top:16px}.profile-actions .btn{flex:1}.profile-hint{margin-top:10px;color:var(--dim);font-size:11px}

/* 弹层 */
.mask{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:rgba(2,8,12,.82);backdrop-filter:blur(3px)}.sheet{width:100%;max-height:88vh;overflow:auto;padding:18px 16px 20px;border:1px solid rgba(0,255,210,.22);border-radius:16px 16px 0 0;background:var(--panel);box-shadow:0 -8px 50px rgba(0,0,0,.6)}.sheet-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:4px}.sheet-head .t{min-width:0;flex:1}.sheet-head h3{margin:0;font-size:16px}.sheet-head small{display:block;margin-top:3px;color:var(--dim);font:700 10px var(--mono);letter-spacing:.8px}.x{padding:0 2px;border:0;background:none;color:var(--dim2);font-size:22px;line-height:1}.sheet-hint{margin:8px 0 12px;color:var(--dim2);font-size:12px;line-height:1.7}.sheet-actions{display:flex;gap:10px;margin-top:16px}.sheet-actions .btn{flex:1}.pick-list{margin:0;padding:0;list-style:none}.pick-list li{display:flex;align-items:center;gap:10px;min-height:48px;margin-bottom:8px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:10px}.pick-list li.on{border-color:var(--mint);background:rgba(0,255,210,.08)}.pick-list .g{min-width:0;flex:1}.pick-list .g b{display:block;margin-bottom:2px;font-size:13.5px}.pick-list .g small{color:var(--dim);font:700 9.5px var(--mono)}.pick-list .p{color:var(--mint);font:700 13px var(--mono)}.expected{margin-top:6px;padding:14px 16px}.expected>b{display:block;margin-top:6px;color:var(--mint);font:700 26px var(--mono)}.expected small{color:var(--dim);font-size:12px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-head>b{color:var(--mint);font:700 15px var(--mono);letter-spacing:1px}.cal-nav{display:flex;gap:6px}.cal-nav button{min-width:30px;height:30px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--dim2);font-size:12px}.holo-cal-days.large{gap:4px}.holo-cal-days.large button{min-height:38px;border:1px solid transparent;cursor:pointer}.legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;color:var(--dim);font:700 9px var(--mono)}.legend s{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:2px;text-decoration:none}.legend .full{background:rgba(0,255,210,.35)}.legend .part{background:rgba(255,45,138,.35)}.legend .wait{background:var(--amber)}.day-detail{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.day-detail h4{margin:0 0 8px;color:var(--mint);font:700 11px var(--mono);letter-spacing:1.4px}.readonly{padding:9px 11px;border:1px solid rgba(255,214,0,.22);border-radius:8px;background:rgba(255,214,0,.08);color:#ffdf6b;font-size:11.5px;line-height:1.6}.redeem-balance{display:flex;align-items:center;justify-content:center;gap:16px;padding:18px;margin-top:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font:700 24px var(--mono)}.redeem-balance span{color:var(--dim2)}.redeem-balance strong{color:var(--mint)}.redeem-balance b{color:var(--amber)}.toast{position:fixed;bottom:66px;left:50%;z-index:60;display:flex;align-items:center;gap:8px;max-width:88%;padding:10px 16px;transform:translateX(-50%);border:1px solid rgba(0,255,210,.3);border-radius:8px;background:#0f2a3a;box-shadow:0 6px 26px rgba(0,0,0,.6);font-size:12px}.toast .k{color:var(--mint);font:700 14px var(--mono)}.toast.warn{border-color:rgba(255,214,0,.45)}.toast.warn .k{color:var(--amber)}

@media(min-width:768px){.holo-body{padding:16px 20px 92px}.holo-grid{grid-template-columns:262px minmax(0,1fr);grid-template-areas:"side main";gap:14px 16px;align-items:start}.side-col{grid-area:side}.main-col{grid-area:main}.holo-mission-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.holo-mission-list>.slot-title{grid-column:1/-1}.holo-tabs{bottom:12px;left:50%;right:auto;width:calc(100% - 28px);max-width:560px;transform:translateX(-50%);border:1px solid var(--line);border-radius:12px;box-shadow:0 -6px 26px rgba(0,17,28,.6),0 0 24px rgba(0,255,210,.12)}.holo-tabs>b{display:none}.mask{align-items:center;padding:28px}.sheet{max-width:560px;border-radius:16px;box-shadow:0 8px 60px rgba(0,0,0,.7)}.sheet-actions{justify-content:flex-end}.sheet-actions .btn{min-width:132px;flex:0 0 auto}.gate{padding:0 40px 48px}.pchoice{width:112px}.pchoice .a{width:76px;height:76px;font-size:2rem}.reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1200px){.holo-body{padding:18px 24px 92px}.holo-grid{grid-template-columns:272px minmax(0,1fr) 288px;grid-template-areas:"side main goal";gap:16px 18px}.goal-col{display:flex;grid-area:goal}.goal-inline{display:none}.holo-mission-list{grid-template-columns:repeat(3,minmax(0,1fr))}.holo-score strong{font-size:40px}}
@media(max-width:767px){.holo-mission{min-height:64px}.holo-mission-right .quick{min-height:30px}.holo-tabs{display:none}.withtabs{padding-bottom:16px}.top-status{display:none}.holo-menu{display:flex;align-items:center;gap:4px;position:sticky;top:48px;z-index:20;padding:6px 10px;border-bottom:1px solid var(--line);background:#080c10f5;backdrop-filter:blur(12px);font-family:var(--mono)}.holo-menu button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;height:34px;margin:0;padding:0 6px;border:1px solid transparent;border-radius:8px;background:none;color:var(--dim);font:700 10px var(--mono);letter-spacing:1px;white-space:nowrap}.holo-menu button.active{color:var(--mint);border-color:rgba(0,255,210,.28);background:rgba(0,255,210,.08)}}
@media(max-width:390px){.gate{padding-right:14px;padding-left:14px}.holo-body{padding-right:10px;padding-left:10px}.holo-title{font-size:16px}.traffic{margin-right:0}.holo-tabs span,.holo-tabs>b{display:none}.holo-tabs button{font-size:15px}.pinrow{gap:5px}.pinrow i{width:37px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* 当前星舱布局规则：主视图限定 1024px；单列时只展示任务。 */
.deck{width:min(100%,1024px);margin:0 auto}.holo-body{max-width:1024px}.page-panel{max-width:1024px}.holo-tabs{left:50%;right:auto;width:min(100%,1024px);transform:translateX(-50%)}
.rail-pilot{display:none}
.ledger-switch{display:flex;gap:8px;margin:0 0 12px}.ledger-switch button{flex:1;margin:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--dim2);font:700 11px var(--mono);letter-spacing:.7px}.ledger-switch button.active{border-color:var(--mint);background:rgba(0,255,210,.08);color:var(--mint)}.redemption-row{justify-content:flex-start!important}.redemption-row>img{width:54px;height:54px;flex:none;object-fit:cover;border:1px solid var(--line);border-radius:9px;background:var(--panel2)}.redemption-row>div:nth-last-child(2){min-width:0;flex:1}.redemption-row>div:last-child{margin-left:auto}.redemption-row small:last-child{color:var(--amber)}.ledger-empty{padding:34px 18px;color:var(--dim);text-align:center}
.holo-goal.has-image{padding-top:0;overflow:hidden}.holo-goal .goal-image{display:block;width:calc(100% + 32px);max-height:220px;aspect-ratio:16/9;margin:0 -16px 14px;object-fit:cover;border-bottom:1px solid var(--line)}.holo-goal.has-image>.cap{display:block}.holo-goal.has-image .row{padding-right:0}.holo-goal.has-image .row span{margin-left:auto;text-align:right}
.sheet{scroll-padding-top:70px;scroll-padding-bottom:86px}.sheet-head{position:sticky;top:-18px;z-index:3;margin:-18px -16px 12px;padding:18px 16px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--panel) 82%,rgba(13,19,24,.94));box-shadow:0 7px 12px rgba(8,12,16,.45)}.sheet-actions{position:sticky;bottom:-20px;z-index:3;margin:16px -16px -20px;padding:13px 16px 20px;border-top:1px solid var(--line);background:linear-gradient(0deg,var(--panel) 82%,rgba(13,19,24,.94));box-shadow:0 -7px 12px rgba(8,12,16,.45)}
.mission-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px}.mission-tools small{color:var(--dim);font:700 9px var(--mono);letter-spacing:.7px}.mission-calendar{margin:0;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--mint);font:700 9px var(--mono);letter-spacing:.7px}.profile-sidebar{display:flex;flex-direction:column;gap:10px;width:100%;max-width:420px;margin:0 0 14px;text-align:left}.profile-sidebar .holo-card{width:100%}
@media(min-width:768px){.holo-tabs{width:min(calc(100% - 28px),1024px);max-width:1024px}.holo-mission-list{display:flex;grid-template-columns:none}}
@media(min-width:1200px){.holo-grid{grid-template-columns:250px minmax(0,1fr);grid-template-areas:"side main"}.goal-col{display:none}.goal-inline{display:block}.holo-mission-list{display:flex;grid-template-columns:none}}
@media(max-width:767px){.side-col,.goal-col{display:none}.holo-grid{display:block}.holo-body{padding:12px 10px 76px}.holo-missions>header{align-items:flex-start}.mission-tools{flex-wrap:wrap;gap:5px;max-width:70%;text-align:right}.mission-tools small{width:100%;line-height:1.4}.holo-mission-list{display:flex}.holo-mission{min-height:70px}.profile-sidebar{display:flex}}
@media(min-width:1100px){.deck .holo-tabs{position:fixed;top:60px;bottom:24px;left:max(16px,calc(50% - 496px));z-index:35;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:88px;height:auto;max-width:none;padding:18px 7px;border:1px solid rgba(0,255,210,.18);border-radius:22px;background:linear-gradient(180deg,#0b1519,#080d12);box-shadow:inset 0 0 24px rgba(0,255,210,.025),0 18px 46px rgba(0,0,0,.35);transform:none}.deck .holo-tabs>b{display:none!important}.deck .holo-tabs button{height:68px;min-height:68px;flex:none;flex-direction:column;gap:5px;border:0;background:transparent;color:#577076;font-size:22px;letter-spacing:0}.deck .holo-tabs button span{font:500 12px "PingFang SC",sans-serif;letter-spacing:.06em}.deck .holo-tabs button.active{color:var(--mint);box-shadow:none;text-shadow:0 0 16px rgba(0,255,210,.22)}.deck .holo-tabs button.active::after{content:"";width:26px;height:2px;margin-top:-2px;border-radius:2px;background:linear-gradient(90deg,#00bde9,#00ffd2)}.rail-pilot{display:grid;place-items:center;margin:0 0 18px}.rail-pilot span{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(0,255,210,.45);border-radius:50%;background:linear-gradient(135deg,#123a4a,#0e2a3a);color:var(--mint);font-size:22px;font-weight:800;box-shadow:0 0 18px rgba(0,255,210,.16)}.holo-body{padding-left:116px}.holo-topbar{padding-left:116px}}
@media(min-width:768px) and (max-width:1099px){.app.withtabs{padding-bottom:0}.deck .holo-tabs{position:fixed;top:8px;bottom:8px;left:7px;z-index:35;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:62px;height:auto;max-width:none;padding:11px 4px;border:1px solid rgba(0,255,210,.16);border-radius:18px;background:linear-gradient(180deg,#0b1519,#080d12);box-shadow:inset 0 0 18px rgba(0,255,210,.02),0 12px 30px rgba(0,0,0,.28);transform:none}.deck .holo-tabs>b{display:none!important}.deck .holo-tabs button{height:58px;min-height:58px;flex:none;flex-direction:column;gap:3px;border:0;background:transparent;color:#577076;font-size:18px;letter-spacing:0}.deck .holo-tabs button span{font:500 9px "PingFang SC",sans-serif;letter-spacing:.02em}.deck .holo-tabs button.active{color:var(--mint);box-shadow:none;text-shadow:0 0 12px rgba(0,255,210,.2)}.deck .holo-tabs button.active::after{content:"";width:20px;height:2px;margin-top:-1px;border-radius:2px;background:linear-gradient(90deg,#00bde9,#00ffd2)}.rail-pilot{display:grid;place-items:center;margin:0 0 11px}.rail-pilot span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(0,255,210,.4);border-radius:50%;background:linear-gradient(135deg,#123a4a,#0e2a3a);color:var(--mint);font-size:16px;font-weight:800}.holo-body{padding-left:78px;padding-bottom:16px}.holo-topbar{padding-left:78px}.holo-title{font-size:15px}.holo-avatar{width:24px;height:24px}}
.holo-cal-days button.selected{outline:2px solid var(--amber);outline-offset:1px;color:var(--amber)}
.av{overflow:hidden}.av>img{width:100%;height:100%;object-fit:cover}
.pchoice .a,.sel-pilot .a,.rail-pilot span,.holo-avatar{overflow:hidden}.pchoice .a>img,.sel-pilot .a>img,.rail-pilot span>img,.holo-avatar>img{display:block;width:100%;height:100%;object-fit:cover}
.profile-head{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:10px}.profile-head .profile-avatar{margin:0}.avatar-change{padding:8px 10px;font-size:11px}
.checkin-note{display:block;margin:14px 0 0}.checkin-note>span{display:block;margin:0 0 6px;color:var(--dim2);font-size:12px}.checkin-note small{color:var(--dim);font-size:10px}.checkin-note textarea{display:block;width:100%;min-height:72px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:9px;outline:0;background:var(--panel2);color:var(--txt);font:12px/1.5 "PingFang SC",sans-serif}.checkin-note textarea:focus{border-color:var(--mint);box-shadow:0 0 0 2px rgba(0,255,210,.1)}
.expected>b.parent-input{color:var(--amber);font-size:16px;letter-spacing:0}
@media(min-width:768px){.side-col{position:fixed;top:64px;bottom:16px;z-index:10;align-self:start;overflow-y:auto;padding-right:2px}.side-col::-webkit-scrollbar{width:3px}.side-col::-webkit-scrollbar-thumb{border-radius:4px;background:rgba(0,255,210,.22)}}@media(min-width:768px) and (max-width:1099px){.side-col{left:80px;width:262px}}@media(min-width:1100px){.side-col{left:calc(50% - 392px);width:250px}}
.task-reminders{position:fixed;right:16px;bottom:68px;z-index:42;display:grid;gap:8px;width:min(360px,calc(100vw - 32px))}.task-reminder{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(8,18,24,.96);box-shadow:0 10px 30px rgba(0,0,0,.34),0 0 22px rgba(0,255,210,.12);backdrop-filter:blur(10px)}.task-reminder>span{display:grid;place-items:center;width:31px;height:31px;flex:none;border-radius:9px;font-size:17px}.task-reminder>div{min-width:0;flex:1}.task-reminder small{display:block;margin-bottom:2px;color:var(--dim);font:700 9px var(--mono);letter-spacing:.9px}.task-reminder b{display:block;overflow:hidden;color:#e8fbff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.task-reminder.due{border-color:rgba(255,214,0,.52)}.task-reminder.due>span{background:rgba(255,214,0,.15);color:var(--amber)}.task-reminder.next{border-color:rgba(0,255,210,.62);animation:reminder-pulse 1.8s ease-in-out infinite}.task-reminder.next>span{background:rgba(0,255,210,.13);color:var(--mint)}.task-reminder button{flex:none;margin:0;padding:7px 9px;border:1px solid rgba(0,255,210,.5);border-radius:7px;background:rgba(0,255,210,.1);color:var(--mint);font:700 10px var(--mono)}@keyframes reminder-pulse{50%{box-shadow:0 10px 30px rgba(0,0,0,.34),0 0 28px rgba(0,255,210,.34)}}@media(min-width:768px){.task-reminders{bottom:24px}}@media(prefers-reduced-motion:reduce){.task-reminder.next{animation:none}}

.toasts{position:fixed;right:16px;bottom:84px;z-index:80;display:flex;flex-direction:column;gap:10px;width:min(360px,calc(100vw - 32px));pointer-events:none}
.toast-item{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border-radius:12px;font-size:13px;line-height:1.5;pointer-events:auto;animation:toast-in .22s ease}
.toast-item.ok{background:linear-gradient(135deg,#0a4a3c,#053027);border:1px solid rgba(0,255,210,.6);color:#c9fff3;box-shadow:0 12px 34px rgba(0,0,0,.5),0 0 26px rgba(0,255,210,.22)}
.toast-item.bad{background:linear-gradient(135deg,#591827,#330d17);border:1px solid rgba(255,99,132,.65);color:#ffdce4;box-shadow:0 12px 34px rgba(0,0,0,.5),0 0 26px rgba(255,99,132,.24)}
.toast-item .k{flex:none;display:grid;place-items:center;width:20px;height:20px;margin-top:1px;border-radius:50%;font:700 12px var(--mono)}
.toast-item.ok .k{background:rgba(0,255,210,.2);color:var(--mint)}
.toast-item.bad .k{background:rgba(255,99,132,.24);color:#ff7d99}
.toast-item p{margin:0;min-width:0;flex:1;word-break:break-word}
.toast-x{flex:none;align-self:flex-start;width:22px;height:22px;margin:0;padding:0;border:0;border-radius:6px;background:rgba(255,255,255,.1);color:inherit;font-size:15px;line-height:1;cursor:pointer}.toast-x:hover{background:rgba(255,255,255,.22)}
@keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:768px){.toasts{bottom:24px}}
.holo-mission.live{position:relative;overflow:hidden;border-color:rgba(0,255,210,.62);background:linear-gradient(90deg,rgba(0,255,210,.12),var(--panel) 62%);box-shadow:inset 3px 0 var(--mint),0 0 18px rgba(0,255,210,.1)}.holo-mission .live-state{position:absolute;top:0;left:0;z-index:1;display:flex;align-items:center;gap:4px;margin:0;padding:4px 8px 4px 7px;border:0;border-radius:0 0 8px 0;background:linear-gradient(135deg,#00d7bc,#009e8b);color:#04221f;font:800 8px var(--mono);letter-spacing:.7px;text-shadow:none}.live-state i{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 7px currentColor;animation:live-blink 1s ease-in-out infinite}@keyframes live-blink{50%{opacity:.18;transform:scale(.7)}}@media(prefers-reduced-motion:reduce){.live-state i{animation:none}}
