/* 行者训练场：四屏情境训练。只覆盖 #material，复用心约卡牌与共享体力运行时。 */
.app.is-material>.pact-topbar{display:none!important}
.material-experience{padding:0!important;overflow:hidden;background:#15181b}
.material-artboard,.material-stage{position:relative;width:100%;height:100%;min-height:0;overflow:hidden}
.material-artboard{font-family:var(--serif);color:#f2ece4}
.material-stage>div{position:relative;width:100%;height:100%;overflow:hidden}
.material-nav{position:absolute;z-index:20;top:max(16px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));height:48px;display:flex;align-items:center;gap:12px;pointer-events:none}
.material-nav>*{pointer-events:auto}
.material-nav-icon{flex:none;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;display:grid;place-items:center;border:0;background:transparent;color:#f0e6d8;text-shadow:0 2px 6px #0008}
.material-nav-icon>span{font:44px/1 var(--serif)}
.material-nav-icon:hover,.material-nav-icon:focus-visible{color:#f0be8e;outline:2px solid #f0be8e;outline-offset:2px}
.material-nav-home{border:2px solid currentColor;width:44px;height:44px;min-width:44px;min-height:44px;margin-left:12px;box-shadow:0 2px 6px #0005}
.material-nav-home span{width:15px;height:15px;background:currentColor}
.material-nav-status{margin-left:auto;display:flex;gap:16px;align-items:center;font:500 13px/1.2 var(--serif);text-shadow:0 2px 8px #000}
.material-nav-status span{white-space:nowrap}.material-nav-status b{margin-left:6px;font:600 14px/1.2 var(--mono);color:#f0bc8e}
.material-select{background:radial-gradient(ellipse at 53% 37%,#f4f0e9 0,#d7d4ce 45%,#9b9b98 100%);color:#26292c}
.material-select::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0000000a 0 1px,transparent 1px 4px),radial-gradient(ellipse at 50% 50%,transparent 38%,#2727253e 100%);mix-blend-mode:multiply}
.material-select-heading{position:absolute;top:11%;left:8%;display:grid;gap:4px;z-index:2}
.material-select-heading small{color:#71695f;font:500 10px/1.2 var(--mono);letter-spacing:.18em}
.material-select-heading h1{font:600 22px/1.2 var(--serif);letter-spacing:.18em}
.material-select-heading p{font:400 12px/1.5 var(--sans);color:#57534e}
.material-select-cases{position:absolute;inset:20% 5% 17%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.3%;align-items:stretch}
.material-scene-card{position:relative;min-width:0;overflow:visible;padding:0;border:0;background:transparent;color:#fff;text-align:left}
.material-scene-card::before{content:"";position:absolute;inset:8% 3% 20% 5%;border-radius:50%;background:#171b1d;transform:rotate(-9deg);box-shadow:18px 18px 30px #0003}
.material-scene-card::after{content:"";position:absolute;inset:0 1% 18%;border:1px solid #fff8;pointer-events:none;opacity:0;transition:opacity .18s}
.material-scene-card:hover::after,.material-scene-card:focus-visible::after{opacity:1}
.material-card-number{position:absolute;z-index:3;top:0;left:15%;right:12%;height:17%;padding:8px 12px;background:#eeece6;clip-path:polygon(0 0,100% 0,100% 100%,46% 88%,0 100%);font:700 clamp(13px,1.5vw,27px)/1.1 var(--mono);color:#22272a;letter-spacing:.05em;box-shadow:0 6px 12px #0004}
.material-card-image{position:absolute;z-index:1;inset:10% 13% 17%;background:#25323d;border:8px solid #ede9e2;border-bottom-width:22px;box-shadow:0 8px 15px #0006;transform:rotate(-2deg);overflow:hidden}
.material-scene-card:nth-child(2) .material-card-image{transform:rotate(2deg)}
.material-scene-card:nth-child(3) .material-card-image{transform:rotate(-1deg)}
.material-card-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.12)}
.material-card-title{position:absolute;z-index:4;top:15%;left:0;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;text-shadow:0 3px 5px #000a}
.material-card-title em{font:400 clamp(28px,3.4vw,58px)/1 var(--serif);font-style:normal;color:#c4794c}
.material-card-title strong{font:600 clamp(28px,3vw,52px)/1.1 var(--serif);letter-spacing:.12em;white-space:nowrap}
.material-card-title small{grid-column:2;font:500 10px/1.4 var(--mono);letter-spacing:.18em;color:#f4eee6}
.material-card-state{position:absolute;z-index:4;left:15%;right:8%;bottom:5%;padding:4px 8px;background:#c46f45;color:#271f1c;font:600 12px/1.4 var(--serif);white-space:nowrap}
.material-dock{position:absolute;z-index:5;left:0;right:0;bottom:0;height:14%;min-height:62px;display:flex;justify-content:center;align-items:center;gap:clamp(16px,4vw,78px);background:linear-gradient(transparent,#272727cc 42%,#242424ec)}
.material-dock button{min-width:70px;min-height:48px;border:0;border-bottom:3px solid transparent;background:transparent;color:#ddd1bc;display:grid;justify-items:center;gap:2px;font:600 13px/1.2 var(--serif)}
.material-dock button span{font:25px/1 var(--serif)}.material-dock .is-current{border-color:#c56a40;color:#fff}
.material-dock button:hover,.material-dock button:focus-visible{color:#fff;outline:2px solid #f0be8e;outline-offset:2px}
.material-detail,.material-prepare{background:#10263a}
.material-scene-backdrop{position:absolute;inset:0;background-image:linear-gradient(90deg,#07132244 0,#06172326 48%,#130f11dc 75%,#100d0ff2 100%),var(--material-scene);background-size:cover;background-position:center;filter:saturate(.72)}
.material-detail::after,.material-prepare::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#090b11a8,transparent 24%),radial-gradient(ellipse at 51% 64%,transparent 20%,#09111855 100%)}
.material-timeline{position:absolute;z-index:2;left:5%;bottom:7%;width:40%;display:flex;align-items:end;gap:12px;border-bottom:1px solid #f5ece88c;padding-bottom:8px}
.material-timeline>small{position:absolute;bottom:100%;left:0;color:#eee;font:500 10px/1.4 var(--mono)}
.material-timeline button{position:relative;min-width:0;min-height:50px;flex:1;display:grid;align-content:end;gap:2px;border:0;background:transparent;color:#c5c9c9;text-align:left}
.material-timeline button span{font:500 22px/1 var(--mono)}.material-timeline button strong{font:500 13px/1.2 var(--serif);white-space:nowrap}
.material-timeline button[aria-pressed=true]{color:#fff}.material-timeline button[aria-pressed=true]::before{content:"▼";position:absolute;bottom:100%;left:0;color:#fff}
.material-detail-panel{position:absolute;z-index:3;top:12%;right:5%;bottom:5%;width:min(31%,520px);display:flex;flex-direction:column;min-height:0;padding:0 0 0 16px;background:linear-gradient(90deg,#19131666,#171215c9);text-shadow:0 2px 7px #000}
.material-detail-top{padding:0 8px 12px;border-bottom:1px solid #c0b3a56b}
.material-detail-top small{font:500 10px/1.2 var(--mono);letter-spacing:.24em;color:#b9b2aa}
.material-detail-top h1{margin:8px 0;font:600 clamp(30px,3.5vw,62px)/1.1 var(--serif);letter-spacing:.12em;white-space:nowrap}
.material-detail-top p{font:500 12px/1.3 var(--mono);letter-spacing:.16em;color:#b4aaa2}
.material-detail-body{min-height:0;flex:1;overflow:auto;padding:16px 8px 0;display:grid;align-content:start;gap:8px}
.material-detail-intro{font:400 14px/1.65 var(--serif);margin-bottom:8px}
.material-rule-row{min-height:28px;display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #ffffff24;font:500 13px/1.4 var(--serif)}
.material-rule-row span{color:#c6bcb3}.material-rule-row b{color:#e8bd8f;white-space:nowrap}
.material-reward-preview{margin-top:8px;display:grid;gap:4px}.material-reward-preview small{font:500 10px/1.2 var(--mono);color:#d9b27b}.material-reward-preview strong{font:500 13px/1.5 var(--serif)}.material-reward-preview b{color:#ebb183;font:600 16px/1 var(--mono)}
.material-detail-note{font:400 11px/1.5 var(--sans);color:#c9c0b7}
.material-detail-actions{flex:none;display:grid;gap:8px;padding:12px 8px 0}
.material-mode-select{display:grid;grid-template-columns:1fr 1fr;gap:8px}.material-mode-select button{min-height:44px;border:1px solid #ffffff5e;border-radius:6px;background:#ffffff0c;font:600 13px/1 var(--serif)}.material-mode-select button[aria-pressed=true]{border-color:#e2b78b;color:#eac49b;background:#b8785040}
.material-start{min-height:52px;width:100%;padding:4px 12px;border:1px solid #db7c4d;border-radius:2px;background:#ca6b3f;color:#201a17;display:flex;align-items:center;justify-content:space-between;gap:12px;text-shadow:none;box-shadow:0 6px 14px #0005}
.material-start span{font:600 13px/1.2 var(--mono);white-space:nowrap}.material-start strong{font:600 20px/1.1 var(--serif);letter-spacing:.12em;white-space:nowrap}
.material-alert,.material-cost-reason{font:500 11px/1.4 var(--sans);color:#f0b3a9}.material-cost-reason{margin:0}
.material-prepare .material-scene-backdrop{filter:saturate(.72) brightness(.8)}
.material-prepare-info{position:absolute;z-index:2;left:8%;top:14%;width:28%;display:grid;gap:8px;text-shadow:0 2px 6px #000}
.material-prepare-info small,.material-decision>small{font:500 10px/1.2 var(--mono);letter-spacing:.16em;color:#e4d4b7}
.material-prepare-info h1{font:600 25px/1.2 var(--serif)}.material-prepare-info>p{font:500 13px/1.55 var(--serif)}
.material-prepare-stat{display:grid;gap:2px;border-top:1px solid #ffffff73;padding-top:8px}.material-prepare-stat span{font:500 11px/1.4 var(--sans);color:#c8c4c0}.material-prepare-stat b{font:600 16px/1.2 var(--mono);color:#edc49c}.material-role-note{color:#d0c9bd}
.material-prepare-cards{position:absolute;z-index:2;top:13%;left:42%;right:7%;bottom:28%;display:flex;align-items:center;justify-content:center;gap:3%}
.material-team-card{position:relative;flex:1;min-width:0;height:100%;padding:0;overflow:hidden;border:1px solid #ffffff6b;border-radius:3px;background:linear-gradient(140deg,#62717a,#17191a);box-shadow:8px 8px 18px #0007;text-align:left}
.material-team-card:hover,.material-team-card:focus-visible{outline:2px solid #e8b78a;outline-offset:2px}
.material-team-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 12%}
.material-team-card>.placeholder{position:absolute;inset:0;display:grid;place-items:center;font:600 50px/1 var(--serif);color:#efe0c9;text-shadow:0 3px 14px #10151a;background-image:linear-gradient(160deg,#19273877,#0b131bc9),url('../../opening-demo/prologue-v2/assets/scenes/heart-domain-hall-wide.png');background-size:cover;background-position:center}
.material-team-card:nth-child(3)>.placeholder{background-image:linear-gradient(160deg,#25364488,#0b131bcb),url('../../opening-demo/prologue-v2/assets/scenes/heart-domain-platform.jpg')}
.material-team-card::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#080a0cf2)}
.material-team-flag{position:absolute;z-index:3;top:0;left:8px;min-width:32px;padding:7px 4px 12px;clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);background:#76527e;color:#fff;font:600 12px/1 var(--serif);writing-mode:vertical-rl}
.material-team-card:nth-child(2) .material-team-flag{background:#8a5e4e}.material-team-card:nth-child(3) .material-team-flag{background:#4e7685}
.material-team-caption{position:absolute;z-index:3;left:8px;right:8px;bottom:8px;display:grid;gap:2px;text-shadow:0 2px 3px #000}
.material-team-caption small{font:500 10px/1.2 var(--mono);color:#d5c3a9}.material-team-caption strong{font:600 18px/1.2 var(--serif)}.material-team-caption em{font:500 11px/1.2 var(--serif);font-style:normal;color:#e5d9ca}
.material-prepare-bottom{position:absolute;z-index:4;left:5%;right:5%;bottom:3%;height:22%;display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,29%);align-items:end;gap:16px}
.material-decision{min-width:0;display:grid;gap:4px}.material-decision>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.material-decision button{min-width:0;min-height:44px;padding:6px 8px;border:2px solid #d2c5b063;border-radius:3px;background:#101416d9;color:#f1e9dc;display:flex;align-items:center;gap:8px;text-align:left;font:500 12px/1.35 var(--serif)}
.material-decision button span{font:600 14px/1 var(--mono);color:#d4a777}.material-decision button[aria-pressed=true]{border-color:#e6ba83;background:#4e392ec9}
.material-prepare-submit{display:grid;gap:4px}.material-prepare-submit .material-start{min-height:48px}.material-prepare-submit .material-start span{font-size:10px}.material-prepare-submit .material-start strong{font-size:16px}
.material-result{background:radial-gradient(ellipse at 31% 48%,#45342d 0,#1c201d 36%,#111719 76%)}
.material-result::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 25%,#e3ab7040,transparent 28%),repeating-linear-gradient(90deg,transparent 0 91px,#ffffff07 92px 93px)}
.material-result-art{position:absolute;inset:0 55% 0 0;overflow:hidden}.material-result-art img{width:100%;height:110%;object-fit:cover;object-position:50% 14%;mask-image:linear-gradient(90deg,#000 60%,transparent 100%)}
.material-result-art>.placeholder{display:grid;place-items:center;height:100%;font:600 100px/1 var(--serif)}
.material-result-art>span:last-child{position:absolute;left:8%;bottom:5%;font:500 11px/1.2 var(--mono);letter-spacing:.2em;color:#e6d6ba}
.material-result-content{position:absolute;top:12%;bottom:6%;left:49%;right:8%;min-height:0;display:flex;flex-direction:column;gap:12px;text-shadow:0 2px 6px #000}
.material-result-content>small{font:500 10px/1.2 var(--mono);letter-spacing:.4em;color:#d5bb91}.material-result-content>h1{font:600 clamp(36px,4vw,70px)/1.1 var(--serif);letter-spacing:.14em}
.material-result-case{display:flex;align-items:center;gap:16px;border-bottom:1px solid #bea5857a;padding-bottom:10px;color:#d9b68b}.material-result-case span{font:500 28px/1 var(--mono)}.material-result-case strong{font:600 24px/1.2 var(--serif)}
.material-result-message{font:500 14px/1.7 var(--serif)}
.material-result-measure{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:12px 0;border-top:1px solid #ffffff3b;border-bottom:1px solid #ffffff3b;font:500 12px/1.4 var(--serif)}.material-result-measure b{font:600 14px/1.2 var(--mono);color:#f1c590;text-align:right}
.material-result-reward{display:grid;gap:4px;margin-top:auto}.material-result-reward small{font:500 10px/1.2 var(--mono);color:#d3b991}.material-result-reward strong{font:600 16px/1.4 var(--serif)}.material-result-reward b{font:600 24px/1 var(--mono);color:#f4ba83}.material-result-reward span{font:400 11px/1.5 var(--sans);color:#d5cbc0}
.material-result-actions{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding-top:8px}.material-result-actions .primary{min-width:190px}
@media(max-width:1000px),(max-height:560px){
  .material-nav{top:max(4px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));height:44px;gap:8px}.material-nav-icon{width:44px;height:44px;min-width:44px;min-height:44px}.material-nav-icon>span{font-size:36px}.material-nav-home{margin-left:4px}.material-nav-status{gap:8px;font-size:10px}.material-nav-status b{font-size:11px}
  .material-select-heading{top:13%;left:13%;gap:1px}.material-select-heading small{display:none}.material-select-heading h1{font-size:17px}.material-select-heading p{display:none}
  .material-select-cases{inset:20% 4% 18%;gap:1%}.material-card-number{padding:4px 6px;font-size:12px}.material-card-image{border-width:4px;border-bottom-width:12px}.material-card-title{left:0;top:14%;column-gap:3px}.material-card-title em{font-size:22px}.material-card-title strong{font-size:21px}.material-card-title small{font-size:8px;letter-spacing:.03em}.material-card-state{left:12%;right:4%;bottom:2%;font-size:10px;padding:2px 4px}.material-dock{height:16%;min-height:52px;gap:8px}.material-dock button{min-width:72px;min-height:44px;font-size:10px}.material-dock button span{font-size:19px}
  .material-detail-panel{top:14%;bottom:3%;right:3%;width:42%;padding-left:8px}.material-detail-top{padding-bottom:6px}.material-detail-top small{font-size:8.5px}.material-detail-top h1{font-size:25px;margin:3px 0}.material-detail-top p{font-size:10px}.material-detail-body{padding:6px 6px 0;gap:3px}.material-detail-intro{font-size:12px;line-height:1.45;margin-bottom:2px}.material-rule-row{min-height:22px;font-size:11px}.material-reward-preview{margin-top:2px;gap:0}.material-reward-preview small{font-size:8.5px}.material-reward-preview strong{font-size:11px}.material-reward-preview b{font-size:12px}.material-detail-note{display:none}.material-detail-actions{padding:4px 6px 0;gap:4px}.material-mode-select{gap:4px}.material-mode-select button{min-height:44px;font-size:11px}.material-start{min-height:44px;padding:2px 8px}.material-start span{font-size:10px}.material-start strong{font-size:15px}.material-timeline{left:5%;bottom:7%;width:43%;gap:4px}.material-timeline button{min-height:44px}.material-timeline button span{font-size:15px}.material-timeline button strong{font-size:10px}
  .material-prepare-info{top:17%;left:6%;width:32%;gap:4px}.material-prepare-info small{font-size:8.5px}.material-prepare-info h1{font-size:17px}.material-prepare-info>p{font-size:12px;line-height:1.4}.material-prepare-stat{padding-top:4px}.material-prepare-stat span{font-size:10px}.material-prepare-stat b{font-size:13px}.material-role-note{display:none}.material-prepare-cards{top:14%;left:43%;right:4%;bottom:33%;gap:2%}.material-team-flag{font-size:10px}.material-team-caption{left:5px;right:5px;bottom:4px}.material-team-caption small{font-size:8.5px}.material-team-caption strong{font-size:13px}.material-team-caption em{font-size:10px}.material-prepare-bottom{left:3%;right:3%;bottom:2%;height:27%;grid-template-columns:minmax(0,1fr) minmax(165px,29%);gap:8px}.material-decision button{font-size:12px;min-height:44px}.material-decision>small{font-size:8.5px}.material-prepare-submit .material-start{min-height:44px}.material-prepare-submit .material-start span{display:none}.material-prepare-submit .material-start strong{font-size:13px}
  .material-result-content{top:13%;bottom:4%;left:46%;right:5%;gap:5px}.material-result-content>small{font-size:8.5px}.material-result-content>h1{font-size:28px}.material-result-case{gap:8px;padding-bottom:4px}.material-result-case span{font-size:17px}.material-result-case strong{font-size:16px}.material-result-message{font-size:12px;line-height:1.4}.material-result-measure{padding:5px 0;gap:2px;font-size:11px}.material-result-measure b{font-size:11px}.material-result-reward{gap:1px}.material-result-reward small{font-size:8.5px}.material-result-reward strong{font-size:12px}.material-result-reward b{font-size:16px}.material-result-reward span{font-size:10px}.material-result-actions{gap:8px;padding-top:2px}.material-result-actions .primary{min-width:145px;font-size:12px}.material-result-actions .text-action{font-size:12px}
}
@media(max-width:800px) and (max-height:390px){.material-nav-status span:last-child{display:none}.material-card-title strong{font-size:18px}.material-detail-body{gap:2px}.material-detail-intro{font-size:12px}.material-result-content{gap:3px}.material-result-message{max-height:40px;overflow:auto}}
@media(prefers-reduced-motion:reduce){.material-scene-card::after{transition:none}}
