:root{--bg:#0d171c;--panel:#152228;--line:#ffffff12;--gold:#dabc80;--gold-dim:#8e7855;--text:#eee9df;--muted:#81918e;--jade:#75b5a7;--red:#c06c52;--serif:'STSong','SimSun',serif;--sans:'Microsoft YaHei UI','Microsoft YaHei',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px var(--sans)}button,input,select{font:inherit}button{cursor:pointer;color:inherit;transition:background .2s,transform .2s}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}button:hover:not(:disabled){filter:brightness(1.15)}.app-shell{display:flex;min-height:100vh}.rail{width:176px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;background:#0b1419;padding:30px 15px 20px;z-index:5}.seal{width:45px;height:58px;border:1px solid var(--gold);outline:1px solid #dabc8033;outline-offset:4px;color:var(--gold);font:24px/25px var(--serif);text-align:center;padding-top:3px;position:relative}.seal:after{content:'';position:absolute;inset:5px;border:1px solid #dabc8040;pointer-events:none}.rail-title{font:26px var(--serif);letter-spacing:4px;margin-top:22px}.rail-sub{font:7px var(--sans);letter-spacing:2px;color:var(--gold-dim);margin:8px 0 35px}.rail nav{width:100%}.nav{border:0;background:transparent;display:flex;gap:14px;align-items:center;color:var(--muted);width:100%;padding:15px 14px;margin-bottom:10px;border-radius:3px;text-align:left;letter-spacing:1px}.nav span{font-size:19px}.nav.active{background:linear-gradient(90deg,#c3a36b20,transparent);color:var(--gold);box-shadow:inset 2px 0 var(--gold)}.rail-bottom{margin-top:auto;text-align:center;width:100%}.rail-bottom p{font:17px/2.1 var(--serif);letter-spacing:5px;color:#536b69}.ink-line{height:1px;background:linear-gradient(90deg,transparent,#ffffff22,transparent)}.rail-bottom small{font-size:8px;color:#536b69;display:block;margin-top:12px}.text-btn{border:0;background:none;color:var(--muted);font-size:11px;padding:8px}.danger{color:var(--red)}main{margin-left:176px;width:calc(100% - 176px);padding:26px 30px 25px;max-width:1900px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;height:60px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold-dim)}h1{font:25px var(--serif);letter-spacing:3px;margin:8px 0 0}h1 span{font:9px var(--sans);letter-spacing:2px;color:#536660;margin-left:15px}h2,h3,p{margin:0}h3{font-weight:500;font-size:13px;letter-spacing:1px}.header-right{display:flex;align-items:center;gap:12px}.header-right strong{display:block;font-size:12px;font-weight:500}.header-right small{display:block;margin-top:5px;font-size:10px;color:var(--muted)}.anchor-avatar{border:1px solid #dabc8044;background:#dabc8011;color:var(--gold);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font:20px var(--serif)}.connection-dot{width:6px;height:6px;border-radius:50%;background:#ad725b}.connection-dot.on{background:var(--jade);box-shadow:0 0 8px #75b5a744}.panel{display:none}.panel.active{display:block}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:20px}.scene-wrap{position:relative;width:100%;height:405px;overflow:hidden;border:1px solid #bca27336;background:#1f3436;border-radius:4px}canvas{width:100%;height:100%;display:block}.scene-grain{pointer-events:none;position:absolute;inset:0;background:linear-gradient(180deg,#05161caa,transparent 38%,transparent 75%,#07171b99);box-shadow:inset 0 0 90px #00101844}.scene-top{position:absolute;top:24px;left:26px;right:24px;display:flex;justify-content:space-between}.chapter-pill{font-size:9px;letter-spacing:2px;color:#dabc80;background:#091c2280;padding:5px 9px;border:1px solid #dabc8033}.scene-top h2{font:33px var(--serif);letter-spacing:5px;margin:13px 0 8px;text-shadow:0 2px 8px #000}.scene-top p{font-size:10px;letter-spacing:2px;color:#b6c0ae}.timer{text-align:right}.timer small{font-size:9px;display:block;color:#b3baaa;letter-spacing:2px}.timer b{display:block;font-size:29px;font-weight:400;letter-spacing:3px;font-family:Georgia,serif;margin-top:5px}.timer span{display:block;font-size:9px;color:var(--gold);margin-top:7px}.boss-hud{position:absolute;left:49%;right:25px;top:134px}.boss-hud>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:#e1d0ac}.boss-hud small{font-size:9px}.bar{height:4px;background:#07121988;overflow:hidden}.bar i{display:block;height:100%;width:100%;transition:width .4s}.boss-bar{margin-top:8px;border:1px solid #e7bb7c25;height:6px}.boss-bar i{background:linear-gradient(90deg,#a4573c,#dfb880)}.scene-bottom{position:absolute;bottom:18px;left:24px;right:24px;display:flex;justify-content:space-between;gap:15px;color:#b0bab0;font-size:9px;letter-spacing:1px}.npc-label{opacity:.7;white-space:nowrap}.impact-banner{position:absolute;top:51%;left:50%;transform:translate(-50%,-50%);font:26px var(--serif);color:#ffdf9c;text-shadow:0 0 25px #dc8834,0 2px #1b231f;opacity:0;pointer-events:none;white-space:nowrap}.impact-banner.show{animation:banner 2.5s forwards}@keyframes banner{0%{opacity:0;transform:translate(-50%,0)}15%,70%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-100%)}}.status-strip{display:flex;padding:17px 18px;background:#122027;border:1px solid var(--line);border-top:0;gap:23px;border-radius:0 0 4px 4px}.status-strip>div{display:flex;align-items:center;gap:10px;flex:1}.status-icon{display:grid;place-items:center;width:32px;height:32px;background:#b4a2730e;border:1px solid #b4a27344;font:17px var(--serif);color:var(--gold)}.status-icon.cyan{color:var(--jade);border-color:#75b5a744}.status-strip small{font-size:8px;color:var(--muted);display:block;white-space:nowrap}.status-strip strong{font-size:11px;font-weight:400;display:block;margin-top:5px;white-space:nowrap}.status-strip .bar{width:35%;margin-left:auto}.guard-bar i{background:var(--jade)}.mechanic-bar i{background:var(--gold);width:0}.status-strip .shield-metric{flex:0;border-left:1px solid var(--line);padding-left:18px;display:block}.command-panel{display:flex;align-items:center;gap:12px;margin-top:19px;padding-bottom:18px;border-bottom:1px solid var(--line)}.command-panel>div{min-width:105px}.command-panel p{font-size:9px;color:var(--muted);margin-top:8px}.command{background:#16272c;border:1px solid #5c74713d;border-radius:3px;padding:12px;display:flex;align-items:center;gap:10px;flex:1;text-align:left}.command b{font-size:22px;font-weight:400;color:var(--gold)}.command span{font-size:11px}.command small{display:block;font-size:8px;color:var(--muted);margin-top:6px}.command kbd{margin-left:auto;font-size:9px;border:1px solid var(--line);padding:2px 4px;color:#7c8d89}.team-heading{display:flex;justify-content:space-between;align-items:center;margin:19px 0 14px}.team-heading h3 span{color:var(--gold);margin-left:10px;font-size:11px}.team-heading>span{font-size:9px;color:var(--muted)}.team-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.team-card{border:1px solid var(--line);border-radius:3px;background:linear-gradient(135deg,#1b2b2e,#142026);padding:12px 10px;display:flex;gap:9px;align-items:center;min-height:66px}.role-token{width:34px;height:36px;flex-shrink:0;display:grid;place-items:center;font:21px var(--serif);border-radius:50% 50% 15% 15%;color:var(--gold);background:#bc9d6620;border:1px solid #c3aa7344}.team-card strong{font-size:10px;display:block;max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.team-card small{font-size:8px;color:var(--muted);display:block;margin-top:6px}.team-card.empty{opacity:.45}.card{border:1px solid var(--line);border-radius:4px;background:linear-gradient(145deg,#1a292c80,#131f26);padding:20px}.section-top{display:flex;align-items:center;justify-content:space-between}.jade-tag{font-size:9px;padding:4px 7px;color:var(--jade);background:#75b5a712;border:1px solid #75b5a72a}.journey-total{display:flex;align-items:baseline;gap:9px;margin:18px 0 12px}.journey-total b{font:40px Georgia,serif;color:var(--gold)}.journey-total span{font-size:11px;color:var(--muted)}.progress-bar{height:3px}.progress-bar i{background:var(--gold);width:0}.journey-card p{font-size:9px;color:var(--muted);margin:12px 0 18px}.secondary{width:100%;border:1px solid #8f84694d;background:#dabc8008;border-radius:3px;padding:10px 13px;color:var(--gold);text-align:left;font-size:10px}.secondary span{float:right}.battle-sidebar{display:flex;flex-direction:column;gap:14px}.challenge-card p{font-size:10px;line-height:1.8;color:#9ba69c;margin:13px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.section-top small{font-size:8px;color:var(--gold-dim)}.reward-box{background:#c6a2670a;border:1px solid #c6a26720;border-radius:3px;padding:12px;display:flex;gap:12px;align-items:center}.reward-box>span{font-size:25px;color:var(--gold)}.reward-box small{font-size:8px;color:var(--muted);display:block}.reward-box strong{font-size:10px;font-weight:400;display:block;line-height:1.6;margin-top:5px;color:var(--gold)}.difficulty-label{font-size:9px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);margin:15px 0}select{border:1px solid var(--line);background:#18272d;color:#c9cfbf;font-size:10px;padding:7px;border-radius:3px;max-width:260px}.primary{display:block;width:100%;background:linear-gradient(115deg,#d7bc85,#b99b61);color:#252d2b;border:1px solid #ead5a244;padding:12px 17px;border-radius:3px;font-weight:600;letter-spacing:2px;font-size:12px}.primary span{float:right}.feed-card{flex:1;min-height:120px;max-height:200px;padding-top:16px}.live-pulse{font-size:8px;letter-spacing:2px;color:var(--jade)}.feed{margin-top:14px;max-height:133px;overflow:auto;scrollbar-width:thin;scrollbar-color:#374e4c transparent}.feed-item{font-size:9px;line-height:1.7;color:var(--muted);margin-bottom:9px;display:flex;gap:8px}.feed-item:before{content:'·';color:var(--gold)}.feed-item strong{font-weight:400;color:#d0c8b2}.feed-item.gift strong{color:var(--gold)}.empty-small{font-size:10px;color:var(--muted);line-height:1.9}.gift-dock{display:flex;border:1px solid var(--line);background:#142229;margin-top:23px;padding:16px 20px;gap:15px;border-radius:3px;align-items:center}.gift-dock>div{display:flex;align-items:center;gap:10px;flex:1;white-space:nowrap}.gift-dock b{font-size:25px;color:var(--gold);font-weight:400}.gift-dock span{font-size:10px;color:#b7c0b2}.gift-dock small{font-size:8px;color:#677d78;display:block;margin-top:5px}.gift-dock .gift-intro{display:block;flex:.95;border-right:1px solid var(--line)}.gift-intro span{font-size:12px;color:var(--gold)}.page-intro{display:flex;justify-content:space-between;align-items:center;margin:25px 0 30px}.page-intro h2{font:24px var(--serif);letter-spacing:2px;margin-top:13px}.chapter-tabs{display:flex;gap:8px;margin:25px 0}.chapter-tabs button{flex:1;background:#142329;border:1px solid var(--line);color:var(--muted);padding:11px 5px;font-size:10px}.chapter-tabs button.active{color:var(--gold);border-color:#dabc8066;background:#dabc8012}.stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stage-card{padding:21px;background:linear-gradient(130deg,#203438,#111e25);border:1px solid var(--line);border-radius:4px;text-align:left;min-height:180px;position:relative;overflow:hidden}.stage-card:before{content:attr(data-number);font:110px Georgia,serif;color:#dabc8009;position:absolute;right:-2px;top:12px}.stage-card.locked{filter:saturate(.2);opacity:.65}.stage-card.selected{border-color:var(--gold-dim)}.stage-card .stage-num{font-size:9px;color:var(--gold-dim);letter-spacing:2px}.stage-card h3{font:23px var(--serif);margin:13px 0;letter-spacing:3px}.stage-card p{font-size:10px;color:var(--muted);line-height:1.8;max-width:90%;min-height:35px}.stage-card small{font-size:9px;color:var(--jade);display:block;margin-top:14px}.info-note{font-size:10px;color:var(--muted);line-height:2;margin-top:22px;border-top:1px solid var(--line);padding-top:15px}.role-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.role-card{padding:25px 17px;text-align:center;background:linear-gradient(160deg,#243535,#122128);border:1px solid var(--line);border-radius:4px}.role-card.active{border-color:var(--gold-dim)}.role-card.locked{opacity:.6}.role-portrait{height:125px;font:64px var(--serif);display:grid;place-items:center;color:var(--gold);background:radial-gradient(ellipse,#be9d4c19,transparent 70%);position:relative}.role-portrait:before{content:'';position:absolute;width:85px;height:85px;border:1px solid #dabc8033;border-radius:50%;transform:rotate(45deg)}.role-card h3{font:22px var(--serif);letter-spacing:4px}.role-card>p{font-size:9px;color:var(--muted);line-height:1.8;margin:10px 0 18px;height:34px}.role-card .secondary{text-align:center;margin-top:12px}.role-spec{display:flex;justify-content:space-between;font-size:10px;margin-top:13px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted)}.role-spec b{font-weight:400;color:var(--gold)}.inventory-header{display:flex;gap:25px;margin-bottom:24px;padding:21px;border:1px solid var(--line);background:#192a2f}.inventory-header>div{flex:1;color:var(--muted);font-size:10px}.inventory-header b{font-size:20px;color:var(--gold);display:block;font-weight:400;margin-top:10px}.upgrade-actions{display:flex;gap:15px;margin-top:25px}.upgrade-actions button{width:auto;min-width:220px}.segmented{display:flex}.segmented button{padding:9px 22px;border:1px solid var(--line);background:#14242a;color:var(--muted)}.segmented button.active{color:var(--gold);background:#c8a46518;border-color:#b5a26c55}.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.podium-card{border:1px solid #dabc8030;text-align:center;padding:30px;background:radial-gradient(ellipse at top,#c7a25716,transparent),#17262b;min-height:180px}.podium-card b{font:33px Georgia,serif;color:var(--gold);display:block}.podium-card h3{font:20px var(--serif);margin:18px 0 10px}.podium-card span{color:var(--muted);font-size:11px}.ranking-table{width:100%;border-collapse:collapse;text-align:left}.ranking-table th{font-size:10px;color:var(--muted);font-weight:400;padding:12px;border-bottom:1px solid var(--line)}.ranking-table td{padding:16px 12px;border-bottom:1px solid var(--line);font-size:12px}.ranking-table td:last-child{color:var(--gold)}.empty-state{text-align:center;padding:90px 35px;border:1px solid var(--line);color:var(--muted);background:radial-gradient(ellipse at center,#ceb67b08,transparent)}.empty-state .empty-mark{font:60px var(--serif);color:var(--gold-dim);margin-bottom:25px}.empty-state p{line-height:2.3}.gate{position:fixed;inset:0;background:#071117de;backdrop-filter:blur(12px);z-index:20;display:grid;place-items:center}.gate.hidden{display:none}.gate-card{max-width:540px;width:90%;padding:45px 50px;text-align:center;background:radial-gradient(ellipse at top,#bb9a5020,transparent),#15232a;border:1px solid #dabc8040;box-shadow:0 30px 100px #0005}.gate-card .seal{margin:0 auto 34px}.gate-card h2{font:29px var(--serif);letter-spacing:3px;margin:22px 0}.gate-card p{line-height:1.9;color:#adb8a9;font-size:12px;min-height:45px}.gate-card small{font-size:10px;color:var(--muted);line-height:1.8;display:block;margin-top:20px}.connection-steps{display:flex;gap:15px;justify-content:center;font-size:10px;color:#778d84;margin:25px 0}.connection-steps .ok{color:var(--jade)}dialog{background:#17272d;color:var(--text);border:1px solid #dabc8055;border-radius:5px;padding:38px;max-width:620px;width:90%;box-shadow:0 25px 100px #0009}dialog::backdrop{background:#061218c9;backdrop-filter:blur(6px)}dialog h2{font:26px var(--serif);letter-spacing:3px;margin:16px 0 25px}dialog p{font-size:12px;line-height:1.9;color:#9ea99f;margin:15px 0}dialog .primary{margin-top:25px}.close-dialog{position:absolute;right:15px;top:12px;border:0;background:none;color:var(--muted);font-size:25px}.detail-row{padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;display:flex;justify-content:space-between;gap:15px}.detail-row span{color:var(--muted)}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#253c3a;color:var(--text);padding:15px 25px;border:1px solid #dabc8044;box-shadow:0 10px 40px #0005;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50;max-width:70%;font-size:12px}#toast.show{opacity:1}.result-row{display:flex;justify-content:space-between;padding:14px;border-bottom:1px solid var(--line);font-size:12px}.result-row strong{color:var(--gold);font-weight:400}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#314942;border-radius:5px}@media(min-width:1500px){.scene-wrap{height:470px}.feed-card{max-height:255px}.feed{max-height:175px}.team-card{min-height:75px}}@media(max-width:1200px){.rail{width:140px;padding-left:9px;padding-right:9px}main{margin-left:140px;width:calc(100% - 140px);padding:20px}.battle-layout{grid-template-columns:minmax(0,1fr) 240px;gap:14px}.command-panel{gap:7px}.command-panel>div{min-width:80px}.command{padding:10px 7px;gap:6px}.command kbd{display:none}.team-heading>span{font-size:8px}.gift-dock{gap:8px;padding:15px 12px}.gift-dock b{font-size:19px}.gift-dock small{font-size:7px}.team-card{padding:9px 6px;gap:5px}.role-token{width:25px;height:30px;font-size:17px}.card{padding:16px}.role-grid{gap:9px}.role-card{padding:18px 10px}}@media(max-width:950px){.rail{width:100px}.rail-title{font-size:20px;letter-spacing:2px}.rail-sub,.nav span,.rail-bottom p{display:none}.nav{padding:13px 4px;text-align:center;display:block;font-size:11px}main{margin-left:100px;width:calc(100% - 100px)}.battle-layout{grid-template-columns:1fr}.battle-sidebar{display:grid;grid-template-columns:1fr 1fr}.feed-card{display:none}.gift-dock{flex-wrap:wrap}.gift-dock>div{min-width:100px}.role-grid{grid-template-columns:repeat(3,1fr)}.stage-grid{grid-template-columns:repeat(2,1fr)}.chapter-tabs{flex-wrap:wrap}.chapter-tabs button{min-width:60px}h1 span{display:none}}

.equipment-icon{display:inline-block;width:64px;height:64px;vertical-align:middle;overflow:hidden;flex-shrink:0;filter:drop-shadow(0 2px 3px #08191780)}
.profile-equipment .equipment-icon,.codex-equipment .equipment-icon{width:68px;height:68px}
