/* 心约方案2：沿用现有卡库、人物舞台、编组卡、节点卡与浮层组件。 */
.pact-topbar{flex:none;min-height:56px;display:flex!important;border-bottom:1px solid var(--line);background:rgba(12,12,16,.72);backdrop-filter:blur(12px)}
.pact-topbar .identity{min-width:64px}.pact-topbar .main-tabs{margin:auto;flex:none}
.profile-switch{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;padding:3px;background:rgba(255,255,255,.03)}
.profile-switch[hidden]{display:none!important}
.profile-switch button{height:44px;min-width:88px;border:0;border-radius:5px;background:transparent;padding:8px 12px;font:600 13px/1 var(--serif);white-space:nowrap}
.profile-switch button[aria-pressed=true]{background:var(--gold);color:#241e17}
.pact-topbar button:focus-visible,.pact-topbar a:focus-visible,.view button:focus-visible,.modal button:focus-visible{outline:2px solid #f2d4a3;outline-offset:2px}
.reference-library{display:block!important;padding:0!important}.reference-library .library-topbar{height:72px;gap:24px;padding:8px max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right));border-bottom:1px solid var(--line);background:rgba(17,18,20,.5)}
.library-heading{display:grid;gap:4px;min-width:176px}.library-heading h1{font:600 20px/1.2 var(--serif);white-space:nowrap}.library-heading h1 span{font:600 12px/1.2 var(--mono);color:var(--gold)}
.library-scroll{height:calc(100% - 72px)!important}.library-toolbar{display:flex;align-items:center}.sort-tabs{grid-template-columns:repeat(3,minmax(110px,1fr))}.sort-tabs button{font-size:13px}.filter-trigger{font-size:13px;min-width:104px;width:auto;padding:0 12px}.filter-trigger span{display:inline-grid;place-items:center;margin-left:4px;border-radius:50%;background:var(--gold);color:#201913;min-width:17px;height:17px;font:600 10px/1 var(--mono)}
.reference-library .memory-card.is-locked img{filter:saturate(.4) brightness(.7)}.reference-library .memory-card.is-locked .shade{background:linear-gradient(transparent,rgba(13,13,17,.85))}.reference-library .memory-card.is-locked .level-mark{color:#cfc5b8}.reference-library .memory-card.is-locked:after{content:'未获得';position:absolute;z-index:3;top:39%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.65);padding:5px 8px;color:#f0e8dd;background:rgba(0,0,0,.5);font:600 10px/1.2 var(--mono);white-space:nowrap}
.reference-library .role-flag{font:600 14px/1 var(--serif)}.advance-pips{grid-template-columns:repeat(2,1fr)}
.character-shell{grid-template-columns:minmax(190px,25%) minmax(220px,38%) minmax(270px,37%)}
.character-overview{position:relative;padding:16px 24px;min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:auto}
.character-return{align-self:flex-start;flex:none}.character-meta{margin:auto 0 8px}.character-meta h1{font-size:32px}.role-keywords{display:flex;gap:8px;color:var(--muted);font:11px/1.5 var(--sans)}
.personal-stats{width:100%;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.22);text-align:left}.personal-stats .stats-title{grid-column:1/-1;font:600 13px/1.2 var(--serif)}.personal-stats .stats-title i{float:right;color:var(--gold);font-style:normal}.personal-stats>span:not(.stats-title){font:13px/1.2 var(--serif)}.personal-stats b{float:right;font:600 13px/1.2 var(--mono);color:var(--gold)}
.character-growth{min-width:0;min-height:0;padding:16px 24px;overflow:auto;display:flex;flex-direction:column;gap:12px;border-left:1px solid var(--line)}
.growth-primary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.growth-primary button{min-height:96px;padding:12px;text-align:left;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.035)}.growth-primary button span{display:grid;gap:3px}.growth-primary strong{font:600 28px/1 var(--mono);color:var(--gold)}.growth-primary strong i{font-size:13px;font-style:normal;color:var(--muted)}.growth-primary em{font:11px/1.5 var(--sans);font-style:normal;color:var(--muted)}.growth-primary button>b{font:26px/1 var(--serif);color:var(--gold)}
.resonance-block{display:grid;gap:8px}.resonance-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font:600 14px/1.4 var(--serif)}.resonance-heading small{font:10px/1.5 var(--sans);letter-spacing:0;color:var(--muted)}.reference-character .skills-row button{min-height:88px}.skill-symbol{font:600 20px/1 var(--serif);color:var(--gold)}.skills-row button{display:grid;gap:4px}.skills-row button small{font:10px/1.5 var(--sans);letter-spacing:0;color:var(--muted)}.skills-row button strong{font:600 14px/1.4 var(--serif)}
.growth-footer-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.growth-footer-actions button{min-height:58px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.035);text-align:left;padding:8px}.growth-footer-actions button span{font:600 14px/1.4 var(--serif)}.growth-footer-actions button small{font:10px/1.5 var(--sans);letter-spacing:0;color:var(--muted)}.system-note{margin-top:auto}
.pact-training{position:relative;display:grid;grid-template-columns:minmax(0,54%) minmax(0,46%);height:100%;background:linear-gradient(120deg,#151619,#24201d)}.pact-training .training-back{position:absolute;z-index:4;top:8px;left:16px}.pact-training .training-hero{min-height:0}.pact-training .training-hero>div:last-child{position:absolute;left:24px;bottom:24px;z-index:2;display:grid;gap:4px}.pact-training .training-hero h2{font-size:24px}.pact-training .training-hero span{font-size:13px}.pact-training-panel{min-width:0;min-height:0;padding:24px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:16px;overflow:auto;border-left:1px solid var(--line)}.pact-training-panel h1{font-size:24px}.pact-training-panel p{font:14px/1.7 var(--serif)}.pact-training-panel label{font:600 14px/1.4 var(--serif)}.pact-training-panel input[type=range]{width:100%;min-height:44px;accent-color:var(--gold)}.pact-growth-row{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font:600 12px/1.2 var(--mono)}.stat-compare{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-compare span{padding:8px;border:1px solid var(--line);font:13px/1.4 var(--serif)}.stat-compare b{float:right;font:600 12px/1.2 var(--mono);color:var(--gold)}.pact-training-panel>.primary{align-self:stretch}.pact-training-panel .progression-crest{min-height:96px;width:120px}
.team-stat-list{display:grid;gap:4px}.team-stat-list p{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);font:13px/1.4 var(--serif)}.team-stat-list b{font:600 14px/1.2 var(--mono);color:var(--gold)}.team-view .team-side,.stage-view .stage-side{overflow:auto}.team-view .team-side .primary,.stage-view .stage-side .primary{margin-top:auto}
.stage-card small{font-size:10px;letter-spacing:0}.stage-card[aria-pressed=true]{border-color:var(--gold)}
.run-mode{margin-left:auto;padding:4px 8px;border:1px solid var(--line);font:600 10px/1.2 var(--mono)}.run-layout{grid-template-columns:minmax(0,1fr) minmax(270px,38%)}.run-view .events{display:block}.preview-stack{width:100%;height:100%;overflow:auto;display:grid;align-content:start;gap:8px}.preview-stack h2{padding:4px 0}.preview-row{min-height:52px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;display:grid;grid-template-columns:64px 1fr 48px;align-items:center;gap:8px}.preview-row span{font:600 14px/1.4 var(--serif)}.preview-row small{font:11px/1.5 var(--sans);letter-spacing:0;color:var(--muted)}.preview-row b{font:600 14px/1.2 var(--mono);color:var(--gold);text-align:right}.path-list{display:grid;gap:8px;margin:12px 0}.path-list p{padding:8px;border-left:2px solid var(--gold);background:rgba(255,255,255,.035);display:flex;justify-content:space-between;gap:12px}.path-list .is-pass b{color:#9dbba9}.path-list .is-base b{color:#d2a6a0}.hand>button{min-height:44px;margin-top:12px}.run-footer{flex:none}.run-footer .primary{min-width:160px}
.result-content{display:block;overflow:auto}.pact-result{max-width:720px;margin:auto;display:grid;gap:12px}.pact-result>strong{font:600 28px/1.2 var(--serif);color:var(--gold)}.pact-result h2{font-size:20px}.pact-result>p{font:14px/1.7 var(--serif)}.pact-result .team-stat-list{margin:8px 0}
.skill-picker{display:grid;gap:8px;margin:8px 0 16px}.skill-picker>p,.skill-empty{font:11px/1.5 var(--sans);color:var(--muted)}.skill-picker>div{display:grid;gap:6px}.skill-choice{min-height:52px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.035);display:grid;gap:3px;text-align:left}.skill-choice[aria-pressed=true]{border-color:var(--gold);background:rgba(242,212,163,.08)}.skill-choice span{font:600 13px/1.3 var(--serif)}.skill-choice small{font:10px/1.3 var(--sans);letter-spacing:0;color:var(--muted)}.result-skill-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:12px/1.4 var(--serif)}.result-skill-summary span{color:var(--muted)}.result-skill-summary b{text-align:right;font:600 11px/1.4 var(--mono);color:var(--gold)}
.skill-demo-note{color:var(--gold)!important;font-size:12px!important}
.material-view{padding:0 max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left));overflow:auto}.material-view .section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.material-view .section-head p{font-size:13px}.material-view .section-head a{min-height:44px;display:grid;place-items:center;padding:0 12px}.material-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,42%);gap:16px;min-height:0;height:calc(100% - 92px)}.material-cases{display:grid;align-content:start;gap:10px;overflow:auto}.material-case{min-height:82px;display:grid;gap:3px;text-align:left;padding:12px 16px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.04)}.material-case[aria-pressed=true]{border-color:var(--gold);background:rgba(197,174,138,.1)}.material-case small,.material-case span{color:var(--muted);font:11px/1.4 var(--sans)}.material-case strong{font:600 18px/1.3 var(--serif)}.material-side{min-height:0;overflow:auto;display:grid;align-content:start;gap:10px;padding:18px;border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.22)}.material-side>small{color:var(--gold);font:11px/1.3 var(--sans)}.material-side h2{font:600 22px/1.3 var(--serif)}.material-side p{font:13px/1.5 var(--serif)}.material-modes,.material-choices{display:grid;gap:8px}.material-modes{grid-template-columns:1fr 1fr}.material-modes button,.material-choices button{min-height:44px;padding:8px;border:1px solid var(--line);border-radius:5px;background:rgba(255,255,255,.04);font:13px/1.4 var(--serif)}.material-modes button[aria-pressed=true],.material-choices button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.material-choices p{font-weight:600}.material-feedback{color:#e8d6b7}.material-error{color:#e6a9a2}.material-side>.primary{min-height:44px}
.filter-sheet{display:grid;gap:16px}.filter-group{display:grid;gap:8px}.filter-group>div{display:flex;flex-wrap:wrap;gap:8px}.filter-group button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:transparent;font:600 13px/1 var(--serif)}.filter-group button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}
.collection-feedback{align-self:center;min-width:150px;color:var(--muted);font:10px/1.2 var(--mono);white-space:nowrap}.filter-live-count{margin:0;color:var(--gold);font:11px/1.4 var(--mono)}.acquisition-note{width:100%;padding:10px 12px;border-left:2px solid var(--gold);background:rgba(242,212,163,.05);text-align:left!important}
@media(max-width:1000px),(max-height:560px){.collection-feedback{display:none}}
.filter-summary{margin:0;padding:10px 12px;border:1px solid rgba(242,212,163,.24);border-radius:6px;color:var(--gold);font:12px/1.5 var(--serif);background:rgba(242,212,163,.04)}
.result-sheet{display:grid;justify-items:center;text-align:center;gap:10px;padding:14px 8px 4px}.result-sheet .result-mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font:28px/1 var(--serif);animation:card-result-pop .6s cubic-bezier(.2,.9,.25,1.2) both}.result-sheet small{color:var(--gold);font:11px/1.3 var(--mono);letter-spacing:.08em}.result-sheet h3{margin:0;font:600 20px/1.35 var(--serif)}.result-sheet p{margin:0;color:var(--muted);font:13px/1.6 var(--serif)}.result-meta{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;margin-top:4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:12px/1.4 var(--serif)}.result-meta span{text-align:left;color:var(--muted)}.result-meta b{text-align:right;font:600 12px/1.4 var(--mono);color:var(--text)}.progress-result .result-mark{box-shadow:0 0 24px rgba(242,212,163,.22)}.progress-advance .result-mark{color:#e9b8bd;border-color:#e9b8bd;box-shadow:0 0 24px rgba(233,184,189,.25)}.progress-break .result-mark{color:#b8d9c5;border-color:#b8d9c5;box-shadow:0 0 24px rgba(184,217,197,.2)}
@keyframes card-result-pop{0%{opacity:0;transform:scale(.45) rotate(-12deg)}70%{opacity:1;transform:scale(1.08) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.growth-primary button,.growth-footer-actions button{transition:border-color .2s ease,background .2s ease,transform .2s ease}.growth-primary button:active,.growth-footer-actions button:active{transform:scale(.98)}
@media(prefers-reduced-motion:reduce){.result-sheet .result-mark{animation:none}.growth-primary button,.growth-footer-actions button{transition:none}}
@media(prefers-reduced-motion:no-preference){.result-sheet{animation:card-result-sheet-in .24s ease-out both}.acquisition-note{animation:card-result-note-in .32s .12s ease-out both}}
@keyframes card-result-sheet-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes card-result-note-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.archive-summary{display:grid;grid-template-columns:38% 1fr;gap:16px}.archive-summary .archive-portrait{min-height:220px;position:relative;overflow:hidden;background:rgba(255,255,255,.04)}.archive-portrait img{width:100%;height:100%;object-fit:contain}.archive-portrait .placeholder{display:grid;place-items:center;height:100%;font-size:60px}.archive-summary>div:last-child{display:grid;align-content:start;gap:12px}.archive-summary h3{font-size:18px}.archive-summary p{font:14px/1.7 var(--serif)}.archive-summary .primary{justify-self:start}.story-feedback{margin-top:16px;color:#e4cda9}
.archive-meta{display:grid;grid-template-columns:34% 1fr;gap:6px 10px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font:11px/1.45 var(--serif)}.archive-meta span{color:var(--muted)}.archive-meta b{font-weight:500;text-align:right}.linked-story{display:grid;gap:6px;margin-top:16px;padding:14px;border:1px solid rgba(217,178,123,.45);background:rgba(217,178,123,.07)}.linked-story small{color:var(--gold);font:11px var(--mono)}.linked-story strong{font-size:16px}.linked-story em{font-size:12px;color:var(--muted);font-style:normal}.linked-story a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;margin-top:6px}.linked-story a[aria-disabled=true]{pointer-events:none;opacity:.45}
@media(max-width:1000px),(max-height:560px){
  .pact-topbar{min-height:48px;padding-inline:max(14px,env(safe-area-inset-left));gap:8px}.pact-topbar .identity{min-width:auto}.pact-topbar .identity strong{font-size:17px}.pact-topbar .main-tabs{gap:2px;padding:2px}.pact-topbar .main-tabs button{min-width:66px;padding:6px;font-size:12px}.profile-switch{padding:2px}.profile-switch button{min-width:72px;height:44px;padding:4px;font-size:12px}
  .reference-library .library-topbar{height:56px;padding:4px max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));gap:8px}.library-heading{min-width:104px;gap:0}.library-heading small{display:none}.library-heading h1{font-size:15px}.library-heading h1 span{font-size:10px}.library-scroll{height:calc(100% - 56px)!important}.sort-tabs{grid-template-columns:repeat(3,minmax(66px,1fr))}.sort-tabs button{font-size:12px}.filter-trigger{min-width:66px;padding:0 6px}
  .character-shell{grid-template-columns:minmax(150px,26%) minmax(200px,32%) minmax(250px,42%)}.character-overview,.character-growth{padding:8px 12px;gap:8px}.character-meta{margin:0}.character-meta h1{font-size:23px;margin:2px 0}.character-meta p{font-size:13px}.character-return{min-height:44px}.personal-stats{padding:8px;gap:4px}.personal-stats>span:not(.stats-title){font-size:12px}.personal-stats b{font-size:12px}.growth-primary button{min-height:64px;padding:8px}.growth-primary strong{font-size:19px}.growth-primary em{font-size:10px}.resonance-heading{font-size:13px}.reference-character .skills-row button{min-height:58px;padding:6px}.skill-symbol{font-size:15px}.skills-row button strong{font-size:12px}.growth-footer-actions button{min-height:48px;padding:6px}.growth-footer-actions button span{font-size:12px}.growth-footer-actions button small{font-size:10px}.system-note{font-size:10px}
  .pact-training{grid-template-columns:48% 52%}.pact-training-panel{padding:12px;gap:8px}.pact-training-panel h1{font-size:17px}.pact-training-panel p,.pact-training-panel label{font-size:13px}.pact-training-panel .progression-crest{min-height:58px;width:78px}.stat-compare{gap:4px}.stat-compare span{padding:4px;font-size:12px}.pact-growth-row{font-size:10px}.pact-training .training-hero>div:last-child{bottom:10px;left:12px}.pact-training .training-hero h2{font-size:17px}
  .team-layout,.stage-layout{grid-template-columns:minmax(0,1fr) minmax(220px,34%)}.team-side,.stage-side{padding:6px 0 6px 12px;gap:6px}.team-stat-list p{min-height:28px;font-size:12px}.team-stat-list b{font-size:12px}.stage-card{min-height:64px}.stage-card span{font-size:10px}.run-layout{grid-template-columns:minmax(0,1fr) minmax(220px,38%)}.preview-row{min-height:44px;padding:4px 8px;grid-template-columns:48px 1fr 36px}.preview-row span{font-size:12px}.preview-row small{font-size:10px}.preview-row b{font-size:12px}.pact-result>strong{font-size:20px}.pact-result>p{font-size:13px}
}
@media(max-width:790px){.pact-topbar .identity{display:none}.pact-topbar .main-tabs{margin:auto}.pact-topbar .main-tabs button{min-width:62px}.profile-switch button{min-width:66px}.character-shell{grid-template-columns:154px minmax(180px,1fr) minmax(265px,40%)}.reference-library .memory-card{aspect-ratio:.48}}
@media(max-width:1000px),(max-height:560px){.material-view{padding:0 12px 8px}.material-view .section-head{min-height:58px}.material-view .section-head h1{font-size:17px}.material-view .section-head p{display:none}.material-layout{height:calc(100% - 58px);grid-template-columns:minmax(0,1fr) minmax(285px,48%);gap:8px}.material-case{min-height:58px;padding:6px 10px}.material-case strong{font-size:14px}.material-side{padding:8px;gap:5px}.material-side h2{font-size:16px}.material-side p{font-size:11px}.material-choices{gap:4px}.material-choices button,.material-modes button{min-height:44px;font-size:11px}}
@media(max-width:790px){.character-overview .character-meta{margin:0 0 6px}.personal-stats{grid-template-columns:1fr}.personal-stats>span:not(.stats-title){min-width:0;white-space:nowrap}.personal-stats b{margin-left:auto}}
@media(orientation:portrait),(max-aspect-ratio:1/1){.rotate{position:absolute;z-index:30;inset:0;min-height:100vh;min-height:100dvh;display:grid;place-items:center}}

/* 已确认卡库：参考六列卡面层级，四维图标取自用户提供的透明素材。 */
.pact-topbar .pact-home{width:44px;height:44px;min-width:44px;min-height:44px;border:2px solid #e8e0d4;border-radius:2px;margin-left:2px}
.pact-topbar .pact-home span{display:block;width:14px;height:14px;background:#e8e0d4}
.pact-topbar .pact-home:hover,.pact-topbar .pact-home:focus-visible{border-color:var(--gold)}
.pact-topbar .pact-home:hover span,.pact-topbar .pact-home:focus-visible span{background:var(--gold)}
.stat-icon{display:inline-block;flex:none;width:20px;height:22px;vertical-align:middle;background-image:url('assets/card-attributes-gold.png?v=20260918-V2aa');background-repeat:no-repeat;background-size:400% 190%;background-position-y:50%}
.stat-icon-0{background-position-x:0%}.stat-icon-1{background-position-x:33.333%}.stat-icon-2{background-position-x:66.667%}.stat-icon-3{background-position-x:100%}
.attribute-flag{position:absolute;z-index:3;top:0;left:0;width:42px;height:48px;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,100% 84%,0 100%);background:#59462c;border:1px solid #b7955a}
.attribute-flag .stat-icon{width:38px;height:41px}
.reference-library .memory-card .skill-mark{display:grid;place-items:center}
.reference-library .memory-card .skill-mark svg{width:32px;height:32px;fill:none;stroke:#f4eee3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.reference-library .memory-card .card-footer em{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reference-library .memory-card .level-mark{font-size:12px}
.affinity-mark .stat-icon{width:70px;height:76px}
.personal-stats>span:not(.stats-title),.stat-sheet p>span,.stat-compare span,.team-stat-list p>span,.preview-row>span{display:flex;align-items:center;gap:5px}
.personal-stats .stat-icon,.stat-sheet .stat-icon,.stat-compare .stat-icon,.team-stat-list .stat-icon,.preview-row .stat-icon{width:16px;height:18px}
.stat-compare span{white-space:nowrap}
.team-side #recommendTeam{min-height:44px}
@media(max-width:1000px),(max-height:560px){
  .pact-topbar .pact-home{width:44px;height:44px;min-width:44px;min-height:44px}
  .attribute-flag{width:30px;height:34px}.attribute-flag .stat-icon{width:27px;height:31px}
  .reference-library .memory-card .skill-mark svg{width:23px;height:23px}
  .reference-library .memory-card .level-mark{font-size:10px}
  .personal-stats .stat-icon,.stat-sheet .stat-icon,.stat-compare .stat-icon,.team-stat-list .stat-icon,.preview-row .stat-icon{width:13px;height:15px}
}

/* 参考图卡库：单行工具栏、六列卡面；评分只参与内部排序与推荐，不在界面显示数值。 */
.app.is-collection>.pact-topbar{display:none!important}
.reference-library{--library-head:clamp(64px,6vw,100px)}
.reference-library .library-topbar{height:var(--library-head);padding:8px max(16.25vw,env(safe-area-inset-right)) 8px max(5vw,env(safe-area-inset-left));gap:0;border-bottom:1px solid rgba(235,226,211,.16);background:rgba(16,17,19,.78);backdrop-filter:blur(12px)}
.library-nav{display:flex;align-items:center;gap:clamp(16px,3.6vw,72px);flex:none}
.library-return,.library-team{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:#f0eae1}
.library-return svg{width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:miter}
.library-team{border:2px solid currentColor}
.library-team svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.library-return:hover,.library-return:focus-visible,.library-team:hover,.library-team:focus-visible{color:#e5be83;outline:2px solid #e5be83;outline-offset:3px}
.reference-library .library-toolbar{margin-left:auto;height:52px;gap:12px}
.reference-library .sort-tabs{height:52px;grid-template-columns:repeat(3,9vw)}
.reference-library .sort-tabs button{height:50px;font-size:13px}
.reference-library .sort-tabs button[aria-pressed=true]{box-shadow:inset 0 -2px #c6774f}
.reference-library .filter-trigger{width:7.5vw;min-width:7.5vw;height:52px;font-size:13px}
.reference-library .filter-trigger svg{width:20px;height:20px;fill:#eee8df}
.reference-library #filterCount[hidden]{display:none!important}
.reference-library .library-scroll{height:calc(100% - var(--library-head))!important;padding:20px 0 max(28px,env(safe-area-inset-bottom));overflow-y:auto}
.reference-library .library-card-grid{width:min(67.5vw,1380px);margin-inline:auto;grid-template-columns:repeat(6,minmax(0,1fr));gap:44px clamp(16px,1.56vw,32px)}
.reference-library .memory-card{aspect-ratio:.44;transform:none}
.reference-library .memory-card:before,.reference-library .memory-card.is-locked:after{display:none}
.reference-library .memory-card .placeholder{inset:0;font-size:0;background:radial-gradient(ellipse at 50% 31%,rgba(234,219,202,.10),transparent 36%),linear-gradient(155deg,rgba(116,105,97,.2),rgba(18,19,23,.3))}
.reference-library .card-face{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;color:#f4eee8;cursor:pointer;text-align:left}
.reference-library .card-face:focus-visible,.reference-library .card-skill:focus-visible{outline:2px solid #f3d5a6;outline-offset:-4px}
.reference-library .memory-card:hover{filter:brightness(1.06)}
.reference-library .memory-card.is-locked img{filter:saturate(.5) brightness(.78)}
.reference-library .memory-card.is-locked .shade{background:linear-gradient(transparent,rgba(15,15,19,.52) 85%)}
.reference-library .memory-card .shade{inset:48% 0 0;background:linear-gradient(transparent,rgba(18,17,20,.2) 18%,rgba(12,12,15,.82) 95%)}
.reference-library .memory-card .card-footer{left:6px;right:6px;bottom:36px;z-index:2}
.reference-library .memory-card .card-footer strong{font-size:clamp(13px,1.1vw,18px);line-height:1.25;text-shadow:0 1px 4px #08090b}
.reference-library .memory-card .level-mark{bottom:63px;z-index:2;font-size:clamp(10px,.77vw,13px);color:#ede6de}
.reference-library .card-skill{position:absolute;z-index:5;left:50%;bottom:93px;transform:translateX(-50%);width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid rgba(246,234,213,.72);border-radius:50%;background:rgba(21,20,23,.7);color:#f5e4c7;box-shadow:0 2px 10px rgba(0,0,0,.3);cursor:pointer}
.reference-library .card-skill svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.reference-library .card-skill:hover,.reference-library .card-skill:focus-visible{color:#211a13;background:#e9c18a;border-color:#f5dfb8;box-shadow:0 0 0 3px rgba(231,190,132,.24)}
.reference-library .advance-status{position:absolute;z-index:4;top:10px;right:8px;min-height:27px;display:flex;align-items:center;gap:4px;padding:3px 5px;border:1px solid rgba(244,212,192,.36);border-radius:3px;background:rgba(22,18,23,.64);box-shadow:0 1px 5px rgba(0,0,0,.3)}
.reference-library .advance-status svg{width:16px;height:16px;fill:transparent;stroke:#f1c9cc;stroke-width:1.8;filter:drop-shadow(0 1px 2px #101013)}
.reference-library .advance-status svg.is-filled{fill:#e6a3a9;stroke:#f5d4d5}
.reference-library .card-stars{position:absolute;z-index:2;left:50%;bottom:8px;transform:translateX(-50%);color:#e4c48d;font:14px/1 var(--serif);letter-spacing:3px;white-space:nowrap;text-shadow:0 1px 3px #101013}
.reference-library .attribute-flag{width:42px;height:48px;border:0;background:var(--flag-bg)}
.reference-library .attribute-flag .stat-icon{--icon-size:30px}
.stat-flag-0{--flag-bg:#73522b}.stat-flag-1{--flag-bg:#87485e}.stat-flag-2{--flag-bg:#385a75}.stat-flag-3{--flag-bg:#456d55}
/* 原始透明 PNG 只作等比 Alpha 蒙版：2172×724 始终保持 3:1，无非等比缩放。 */
.stat-icon{--icon-size:20px;width:var(--icon-size)!important;height:var(--icon-size)!important;flex:none;background-image:linear-gradient(145deg,var(--icon-light),var(--icon-dark))!important;background-size:100% 100%!important;mask-image:url('assets/card-attributes-gold.png?v=20260918-card-library-V1');mask-repeat:no-repeat;mask-size:calc(var(--icon-size) * 6.7875) calc(var(--icon-size) * 2.2625);mask-position:calc(var(--icon-size) * var(--icon-x)) calc(var(--icon-size) * -0.58)}
.stat-icon-0{--icon-x:-.419;--icon-light:#ffefd0;--icon-dark:#dfac56}
.stat-icon-1{--icon-x:-2.097;--icon-light:#ffe0e7;--icon-dark:#d87597}
.stat-icon-2{--icon-x:-3.706;--icon-light:#e6f2ff;--icon-dark:#80b4dc}
.stat-icon-3{--icon-x:-5.338;--icon-light:#e8f6e7;--icon-dark:#83bc91}
.affinity-mark .stat-icon{--icon-size:70px}
.personal-stats .stat-icon,.stat-sheet .stat-icon,.stat-compare .stat-icon,.team-stat-list .stat-icon,.preview-row .stat-icon{--icon-size:16px}
.card-skill-sheet{display:grid;gap:14px}.card-skill-sheet>p{color:#e7d4b6;font:15px/1.4 var(--serif)}.card-skill-sheet section{padding:16px;border:1px solid rgba(231,196,143,.35);background:rgba(255,255,255,.03)}.card-skill-sheet section small{color:#e7c48f;font:11px/1.3 var(--sans)}.card-skill-sheet section h3{margin:5px 0 8px;font:600 18px/1.3 var(--serif)}.card-skill-sheet section p{font:14px/1.6 var(--serif)}.card-skill-sheet>small{color:var(--muted);font:11px/1.5 var(--sans)}
@media(max-width:1000px),(max-height:560px){
  .reference-library{--library-head:56px}
  .reference-library .library-topbar{padding:4px max(14px,env(safe-area-inset-right)) 4px max(14px,env(safe-area-inset-left))}
  .library-nav{gap:12px}.library-return svg{width:31px;height:31px}.library-team svg{width:26px;height:26px}
  .reference-library .library-toolbar{height:44px;gap:8px}.reference-library .sort-tabs{height:44px;grid-template-columns:repeat(3,minmax(66px,1fr))}.reference-library .sort-tabs button{height:42px;font-size:12px;padding:0 3px}.reference-library .filter-trigger{height:44px;width:76px;min-width:76px;font-size:12px}
  .reference-library .library-scroll{padding:8px max(14px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .reference-library .library-card-grid{width:100%;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:16px 10px}
  .reference-library .memory-card{aspect-ratio:.44}.reference-library .card-skill{bottom:77px}.reference-library .memory-card .level-mark{bottom:57px;font-size:10px}.reference-library .memory-card .card-footer{bottom:31px}.reference-library .memory-card .card-footer strong{font-size:13px}.reference-library .card-stars{bottom:5px;font-size:11px;letter-spacing:2px}.reference-library .advance-status{top:5px;right:5px;min-height:22px;gap:2px;padding:2px 3px}.reference-library .advance-status svg{width:13px;height:13px}.reference-library .attribute-flag{width:30px;height:34px}.reference-library .attribute-flag .stat-icon{--icon-size:24px}
  .personal-stats .stat-icon,.stat-sheet .stat-icon,.stat-compare .stat-icon,.team-stat-list .stat-icon,.preview-row .stat-icon{--icon-size:13px}
}
.pact-topbar .pact-home svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* V2.34：同行编组使用独立页面头部，只保留返回、标题与大厅入口。 */
.app.is-team .pact-topbar .pact-home,.app.is-team .pact-topbar .main-tabs{display:none!important}

/* 玩家可见字号：卡牌资料与同行编组在桌面、横屏均保持可读。 */
.archive-summary>div:last-child>small{color:var(--gold);font:600 12px/1.4 var(--sans)}
.archive-summary h3{font-size:22px;line-height:1.35}
.archive-meta{font-size:13px;line-height:1.55}
.archive-summary p{font-size:14px}
.archive-summary .secondary{font-size:14px}
.team-view .section-head>div>small{color:var(--gold);font:600 12px/1.4 var(--sans)}
.team-view .section-head h1{font-size:26px;line-height:1.25}
.team-view .section-head p{font-size:13px}
.team-slot small{font-size:12px;line-height:1.4}
.team-slot strong{font-size:20px;line-height:1.3}
.team-slot span{font-size:13px;line-height:1.45}
.team-side>small{font:600 12px/1.4 var(--sans);color:var(--gold)}
.team-side h2{font-size:21px;line-height:1.35}
.team-side>p{font-size:13px;line-height:1.55}
.team-side button{font-size:14px}
@media(max-width:1000px),(max-height:560px){
  .archive-summary{gap:12px}
  .archive-summary>div:last-child{gap:7px}
  .archive-summary>div:last-child>small{font-size:10px}
  .archive-summary h3{font-size:17px}
  .archive-meta{gap:4px 8px;padding:6px 0;font-size:12px;line-height:1.35}
  .archive-summary p,.archive-summary .secondary{font-size:12px}
  .team-view .section-head>div>small{font-size:10px}
  .team-view .section-head h1{font-size:18px}
  .team-view .section-head p{display:block;font-size:12px}
  .team-slot small{font-size:10px}
  .team-slot strong{font-size:15px}
  .team-slot span{font-size:12px}
  .team-side>small{font-size:10px}
  .team-side h2{font-size:16px}
  .team-side>p,.team-stat-list p{font-size:12px}
  .team-side button{font-size:12px}
}

/* 卡库 V1.5：已确认的控件图与4星紫／5星金卡面。四维原图案保持等比蒙版。 */
.reference-library{background:#000}
.reference-library:before{display:none}
.reference-library .library-topbar{padding-left:var(--heart-header-left);background:#000;border-bottom:0;box-shadow:none;backdrop-filter:none}
.reference-library .library-nav{gap:var(--heart-header-gap)}
.reference-library .library-title{font:600 var(--heart-header-title)/1 var(--serif);letter-spacing:.1em;color:#eee8dc;white-space:nowrap}
.reference-library .library-return{border:0;border-radius:6px;background:transparent;color:#efe7db}
.reference-library .library-return .back-glyph{display:block;margin:0;font:400 28px/1 var(--serif);letter-spacing:0;transform:translateY(-3px)}
.reference-library .library-team{border:0;border-radius:0;background:transparent;color:#efe7db}
.reference-library .library-team svg{width:28px;height:28px;stroke-width:1.65}
.reference-library .library-return:hover{background:transparent;color:#d7a56b}
.reference-library .library-team:hover{background:transparent;border-color:transparent}

/* 心约主页与卡牌详情共用左上身份区的边距和返回字形。 */
.app{--heart-header-left:max(4.8vw,env(safe-area-inset-left),24px);--heart-header-right:max(4.8vw,env(safe-area-inset-right),24px);--heart-header-gap:16px;--heart-header-title:20px}
.pact-topbar{padding-inline:var(--heart-header-left) var(--heart-header-right);gap:var(--heart-header-gap);border-bottom:0}
.pact-topbar>.icon-button{width:44px;height:44px;padding:0}
.pact-topbar>.icon-button .back-glyph{display:block;font:400 28px/1 var(--serif);transform:translateY(-3px)}
.pact-topbar .pact-home{margin-left:0;border:0;border-radius:0;background:transparent}
.pact-topbar .identity{min-width:0}
.pact-topbar .identity strong{font:600 var(--heart-header-title)/1 var(--serif);letter-spacing:.1em}
@media(max-width:1000px),(max-height:560px){
  .app{--heart-header-left:max(14px,env(safe-area-inset-left));--heart-header-right:max(14px,env(safe-area-inset-right));--heart-header-gap:8px;--heart-header-title:17px}
}
@media(max-width:790px){.pact-topbar .identity{display:flex}}
.reference-library .sort-tabs,.reference-library .filter-trigger{border-color:rgba(227,211,191,.3);background:rgba(23,22,25,.72);border-radius:4px}
.reference-library wqxt-page-header.library-topbar{padding:0}
.reference-library wqxt-page-header.library-topbar .page-header__inner{height:var(--library-head);min-height:var(--library-head);padding:8px var(--heart-header-right) 8px var(--heart-header-left);gap:var(--heart-header-gap)}
.reference-library wqxt-page-header.library-topbar .library-team{margin-left:0;flex:none}
.reference-library wqxt-page-header.library-topbar .library-toolbar{margin-left:auto}
.reference-library .sort-tabs button{font-size:13px;color:#bcb3a9}
.reference-library .sort-tabs button[aria-pressed=true]{background:linear-gradient(180deg,rgba(215,164,97,.11),rgba(215,164,97,.035));color:#e8c08f;box-shadow:inset 0 -2px #d29b62}
.reference-library .sort-direction{width:14px;margin-left:6px;vertical-align:middle}
.reference-library .sort-direction svg{width:14px;height:14px;fill:none;stroke:#d7a56b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.reference-library .filter-trigger{color:#eee4d9}
.reference-library .filter-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.reference-library .memory-card{background:linear-gradient(180deg,#464348,#212024 100%);border:1px solid rgba(255,255,255,.10);border-radius:4px;box-shadow:0 14px 26px rgba(0,0,0,.33)}
.reference-library .memory-card.rarity-5{--rarity-text:#f5d492;--rarity-line:rgba(241,195,116,.58)}
.reference-library .memory-card.rarity-4{--rarity-text:#dfbff2;--rarity-line:rgba(201,157,226,.55)}
.reference-library .memory-card.rarity-5 .shade{inset:43% 0 0;background:linear-gradient(180deg,transparent 0%,rgba(30,23,21,.05) 18%,rgba(77,53,31,.40) 58%,rgba(84,58,29,.92) 100%),radial-gradient(ellipse at 50% 100%,rgba(229,175,92,.45),transparent 73%)}
.reference-library .memory-card.rarity-4 .shade{inset:43% 0 0;background:linear-gradient(180deg,transparent 0%,rgba(22,20,30,.05) 18%,rgba(54,39,72,.48) 58%,rgba(57,40,76,.94) 100%),radial-gradient(ellipse at 50% 100%,rgba(172,116,211,.43),transparent 73%)}
.reference-library .memory-card.rarity-5 .placeholder{background:linear-gradient(180deg,#49423b,#25211f 76%)}
.reference-library .memory-card.rarity-4 .placeholder{background:linear-gradient(180deg,#403d46,#211e27 76%)}
.reference-library .attribute-flag{border-bottom:1px solid rgba(255,255,255,.42);box-shadow:0 2px 7px rgba(0,0,0,.28)}
.reference-library .card-skill{width:82px;height:44px;bottom:93px;border:1px solid var(--rarity-line);border-radius:4px;background:rgba(20,19,23,.78);display:flex;align-items:center;justify-content:center;gap:5px;color:#f1e9df;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.reference-library .card-skill svg{width:21px;height:21px;stroke-width:1.6}
.reference-library .card-skill span{font:600 12px/1 var(--serif);letter-spacing:1px}
.reference-library .card-skill:hover,.reference-library .card-skill:focus-visible{color:var(--rarity-text);background:rgba(20,19,23,.94);border-color:var(--rarity-text)}
.reference-library .card-stars{bottom:8px;display:flex;gap:3px;color:var(--rarity-text);filter:drop-shadow(0 1px 3px #141019)}
.reference-library .card-stars svg{width:15px;height:15px;fill:currentColor}
.reference-library .advance-status{border-color:var(--rarity-line);background:rgba(19,17,22,.72)}
.reference-library .memory-card .level-mark{color:#f0e9e0}
.reference-library .memory-card .card-footer strong{color:#fff6eb}
@media(max-width:1000px),(max-height:560px){
  .reference-library .card-skill{width:64px;bottom:77px}
  .reference-library .card-skill span{font-size:10px}
  .reference-library .card-skill svg{width:18px;height:18px}
  .reference-library .card-stars svg{width:11px;height:11px}
}
