/* V7 M13 — independent mobile product layer */
@media(max-width:767px){
  :root{
    --m-header-h:calc(64px + env(safe-area-inset-top));
    --m-footer-h:calc(68px + env(safe-area-inset-bottom));
    --m-page-x:16px;
  }
  html,body{width:100%;height:100%;min-height:100%;overflow:hidden;overscroll-behavior:none}
  body[data-viewport="mobile"]{height:var(--app-height,100dvh);min-height:var(--app-height,100dvh);background:#0b0a08;color:var(--text);-webkit-text-size-adjust:100%;touch-action:manipulation}
  body[data-viewport="mobile"] #app{height:100%;overflow:hidden}
  .mobile-app-shell{position:relative;height:100%;min-height:0;overflow:hidden;background:#0b0a08;isolation:isolate}
  .mobile-scene-bg{position:absolute;inset:0;z-index:-2;background-image:linear-gradient(180deg,rgba(8,7,5,.83),rgba(8,7,5,.94) 44%,rgba(8,7,5,.98)),url("../images/fantasy-forest.webp");background-position:center;background-size:cover;transform:scale(1.02)}
  .mobile-scene-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 55% 18%,rgba(223,189,114,.10),transparent 42%)}
  .mobile-app-header{position:absolute;inset:0 0 auto;height:var(--m-header-h);display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:8px;padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left));border-bottom:1px solid rgba(223,189,114,.18);background:rgba(8,7,5,.93);backdrop-filter:blur(8px);z-index:20}
  .mobile-icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--text);font-size:25px}.mobile-icon-button:last-child{font-size:14px;letter-spacing:2px}
  .mobile-step-status{display:grid;min-width:0;align-content:center;justify-items:center;padding:2px 8px;border:0;background:transparent;text-align:center}.mobile-step-status span{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.12em}.mobile-step-status b{max-width:100%;overflow:hidden;font-size:15px;white-space:nowrap;text-overflow:ellipsis}.mobile-step-status small{max-width:100%;overflow:hidden;color:var(--muted);font-size:11px;white-space:nowrap;text-overflow:ellipsis}
  .mobile-build-main{position:absolute;inset:var(--m-header-h) 0 var(--m-footer-h);display:flex;min-height:0;flex-direction:column;overflow:hidden;padding:14px max(var(--m-page-x),env(safe-area-inset-right)) 0 max(var(--m-page-x),env(safe-area-inset-left))}
  .mobile-task-head{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 0 12px;border-bottom:1px solid rgba(223,189,114,.16)}
  .mobile-kicker{display:block;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.13em}.mobile-task-head h1{margin:3px 0 2px;font-family:Georgia,"Noto Serif SC",serif;font-size:25px;line-height:1.15}.mobile-task-head p{max-width:270px;margin:0;color:var(--muted);font-size:13px;line-height:1.45}.mobile-task-head>strong{padding-top:5px;color:var(--gold);font-size:12px;white-space:nowrap}
  .mobile-inline-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;flex:0 0 auto;align-items:center;gap:8px;min-height:44px;margin-top:10px;padding:7px 10px;border:1px solid rgba(223,189,114,.22);border-radius:10px;background:rgba(223,189,114,.06);text-align:left}.mobile-inline-result span{color:var(--gold);font-size:10px;font-weight:800}.mobile-inline-result b{overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.mobile-inline-result i{color:var(--gold);font-size:18px;font-style:normal}
  .mobile-build-content{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 0 24px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .mobile-actionbar{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:8px;height:var(--m-footer-h);padding:8px max(12px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(12px,env(safe-area-inset-left));border-top:1px solid rgba(223,189,114,.18);background:rgba(8,7,5,.96);backdrop-filter:blur(8px);z-index:20}
  .mobile-actionbar button{min-width:0;min-height:48px;padding:8px 10px;border-radius:10px;font-size:14px;font-weight:700}.mobile-secondary-action{border:0;background:transparent;color:var(--muted)}.mobile-secondary-action:disabled{opacity:.35}.mobile-character-action{border:1px solid rgba(223,189,114,.34);background:rgba(223,189,114,.06);color:var(--text)}.mobile-primary-action{border:1px solid rgba(244,138,118,.52);background:linear-gradient(180deg,#bb5547,#8f332d);color:#fff;box-shadow:0 8px 22px rgba(101,26,22,.25)}
  .keyboard-open .mobile-actionbar{display:none}.keyboard-open .mobile-build-main{bottom:0}

  .m-card,.m-hero-card{border:1px solid rgba(223,189,114,.20);border-radius:12px;background:rgba(16,13,10,.72)}
  .m-card{padding:14px}.m-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.m-section-head b{font-size:15px}.m-section-head small{color:var(--muted);font-size:12px}.m-empty{display:grid;min-height:220px;place-items:center;color:var(--muted);font-size:14px;text-align:center}
  .m-wide-action,.m-sheet-primary,.m-sheet-secondary{width:100%;min-height:46px;border-radius:10px;font-size:14px;font-weight:800}.m-wide-action,.m-sheet-primary{border:1px solid rgba(244,138,118,.48);background:#a94439;color:#fff}.m-sheet-secondary{margin-top:8px;border:1px solid rgba(223,189,114,.32);background:rgba(223,189,114,.06);color:var(--text)}
  .m-key-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.m-key-facts span{display:grid;gap:3px;padding:10px;border:1px solid rgba(223,189,114,.14);border-radius:9px;background:rgba(0,0,0,.18);color:var(--muted);font-size:11px}.m-key-facts b{color:var(--text);font-size:14px}

  /* Level */
  .m-level-view{display:grid;gap:14px}.m-level-picker{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:14px;padding:8px 0}.m-level-picker>button{width:52px;height:52px;border:1px solid rgba(223,189,114,.40);border-radius:50%;background:rgba(0,0,0,.25);color:var(--text);font-size:25px}.m-level-picker>div{display:flex;align-items:baseline;justify-content:center;gap:4px}.m-level-picker strong{color:#f7dd92;font-family:Georgia,serif;font-size:76px;font-weight:400;line-height:1}.m-level-picker span{font-size:19px}.m-level-impact{margin:0;padding:11px 12px;border-left:2px solid var(--gold);background:rgba(223,189,114,.05);color:var(--muted);font-size:13px;line-height:1.5}.m-level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.m-level-grid button{min-height:44px;border:1px solid rgba(223,189,114,.18);border-radius:8px;background:rgba(0,0,0,.18);color:var(--text)}.m-level-grid button.selected{border-color:var(--gold);background:rgba(223,189,114,.16);color:#f7dd92}

  /* Route */
  .m-route-view{display:grid;gap:12px}.m-level-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.m-level-nav button{min-height:44px;border:0;background:transparent;color:var(--muted);font-size:12px}.m-level-nav button:last-child{text-align:right}.m-level-nav strong{font-size:14px}.m-route-dots{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}.m-route-dots::-webkit-scrollbar{display:none}.m-route-dots button{flex:0 0 38px;height:38px;border:1px solid rgba(223,189,114,.18);border-radius:50%;background:rgba(0,0,0,.20);color:var(--muted)}.m-route-dots button.active{border-color:var(--gold);background:rgba(223,189,114,.16);color:#f7dd92}.m-hero-card{padding:18px;text-align:center}.m-hero-card>span{color:var(--gold);font-size:11px}.m-hero-card h2{margin:5px 0;font-family:Georgia,"Noto Serif SC",serif;font-size:34px}.m-hero-card p{margin:0 0 14px;color:var(--muted);font-size:13px}.m-hero-card .m-wide-action{margin-top:14px}.m-unlock-list{display:grid;gap:8px}.m-unlock-list span{padding:9px 10px;border-radius:8px;background:rgba(223,189,114,.05);font-size:13px}.m-class-sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.m-class-sheet-option{position:relative;display:grid;gap:4px;min-height:72px;padding:12px 30px 12px 12px;border:1px solid rgba(223,189,114,.18);border-radius:10px;background:rgba(0,0,0,.18);text-align:left}.m-class-sheet-option b{font-size:15px}.m-class-sheet-option small{color:var(--muted);font-size:11px;line-height:1.35}.m-class-sheet-option i{position:absolute;top:10px;right:10px;color:var(--gold);font-style:normal}.m-class-sheet-option.selected{border-color:var(--gold);background:rgba(223,189,114,.12)}

  /* Shared stage views */
  .m-queue-head,.m-stage-current{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(223,189,114,.16);border-radius:10px;background:rgba(0,0,0,.18)}.m-queue-head span,.m-stage-current span{color:var(--gold);font-size:10px;font-weight:800}.m-queue-head b,.m-stage-current b{font-size:13px}.m-queue-head small{color:var(--muted);font-size:11px}.m-node-switcher{display:flex;gap:7px;overflow-x:auto;padding:10px 0}.m-node-switcher button{flex:0 0 40px;height:40px;border:1px solid rgba(223,189,114,.18);border-radius:50%;background:rgba(0,0,0,.20);color:var(--muted)}.m-node-switcher button.complete{border-color:rgba(136,198,146,.45);color:#9bd6a4}.m-node-switcher button.active{border-color:var(--gold);background:rgba(223,189,114,.15);color:#f7dd92}.m-option-list,.m-feature-list{display:grid;gap:8px}.m-choice-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;border:1px solid rgba(223,189,114,.16);border-radius:10px;background:rgba(14,12,9,.68);overflow:hidden}.m-choice-row.selected{border-color:var(--gold);background:rgba(223,189,114,.10)}.m-choice-main{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:76px;padding:10px;border:0;background:transparent;text-align:left}.m-choice-glyph{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;background:rgba(223,189,114,.10);color:var(--gold)}.m-choice-main div{display:grid;gap:3px}.m-choice-main b{font-size:15px}.m-choice-main small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.m-choice-main em{color:var(--gold);font-size:11px;font-style:normal}.m-choice-main i{color:var(--gold);font-size:18px;font-style:normal}.m-info-button{width:44px;min-height:44px;border:0;border-left:1px solid rgba(223,189,114,.12);background:rgba(223,189,114,.04);color:var(--gold);font-weight:800}.m-asi-card{display:grid;gap:10px;margin-top:12px}.m-asi-card label,.m-bonus-card label{display:grid;grid-template-columns:1fr minmax(120px,45%);align-items:center;gap:10px;font-size:13px}.m-asi-card select,.m-bonus-card select{min-height:44px;font-size:16px}
  .m-stage-tabs{display:flex;gap:7px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity;scrollbar-width:none}.m-stage-tabs::-webkit-scrollbar{display:none}.m-stage-tabs button{display:grid;flex:0 0 148px;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:0 7px;min-height:58px;padding:8px;border:1px solid rgba(223,189,114,.16);border-radius:10px;background:rgba(0,0,0,.18);text-align:left;scroll-snap-align:start}.m-stage-tabs span{grid-row:1/3;display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:rgba(223,189,114,.08);color:var(--gold);font-size:11px}.m-stage-tabs b{overflow:hidden;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.m-stage-tabs small{color:var(--muted);font-size:10px}.m-stage-tabs button.active{border-color:var(--gold);background:rgba(223,189,114,.11)}.m-stage-tabs button.complete span{background:rgba(136,198,146,.18);color:#9bd6a4}.m-stage-current{margin-bottom:10px}.m-stage-current b{justify-self:end;color:var(--gold);font-size:11px}

  /* Abilities */
  .m-abilities-view{display:grid;gap:10px}.m-points-bar{display:grid;grid-template-columns:1fr auto;align-items:center;padding:10px 12px;border:1px solid rgba(223,189,114,.18);border-radius:10px;background:rgba(0,0,0,.18)}.m-points-bar span{font-size:12px}.m-points-bar b{color:var(--gold);font-size:24px}.m-points-bar b.error{color:#f18272}.m-points-bar small{grid-column:1/3;color:var(--muted);font-size:10px}.m-ability-list{display:grid}.m-ability-item{display:grid;grid-template-columns:44px minmax(74px,1fr) 48px 44px auto;align-items:center;gap:7px;min-height:58px;border-bottom:1px solid rgba(223,189,114,.12)}.m-ability-item.active{background:linear-gradient(90deg,rgba(223,189,114,.08),transparent)}.m-ability-item button{width:42px;height:42px;border:1px solid rgba(223,189,114,.18);border-radius:9px;background:rgba(0,0,0,.18);color:var(--text);font-size:18px}.m-ability-item div{display:grid}.m-ability-item b{font-size:15px}.m-ability-item small{color:var(--muted);font-size:10px}.m-ability-item>strong{font-family:Georgia,serif;font-size:25px;text-align:center}.m-ability-item>span{color:var(--gold);font-size:10px;text-align:right}.m-ability-impact{display:grid;gap:8px;padding:13px;border:1px solid rgba(223,189,114,.18);border-radius:10px;background:rgba(223,189,114,.05)}.m-ability-impact>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 8px}.m-ability-impact span{color:var(--gold);font-size:10px}.m-ability-impact h3{margin:0;font-size:18px}.m-ability-impact p{grid-column:1/3;margin:4px 0 0;color:var(--muted);font-size:12px}.m-related-skills{display:flex;gap:6px;overflow-x:auto}.m-related-skills span{flex:0 0 auto;padding:5px 8px;border-radius:7px;background:rgba(0,0,0,.22);color:var(--muted);font-size:11px}.m-related-skills b{color:var(--text)}.m-bonus-card{display:grid;gap:10px}

  /* Skills */
  .m-skills-view,.m-features-view,.m-progression-view{display:grid;gap:10px}.m-skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.m-skill-card{display:grid;grid-template-columns:minmax(0,1fr) 40px;border:1px solid rgba(223,189,114,.14);border-radius:10px;background:rgba(0,0,0,.17);overflow:hidden}.m-skill-card.selected{border-color:var(--gold);background:rgba(223,189,114,.10)}.m-skill-select{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:60px;padding:8px;border:0;background:transparent;text-align:left}.m-skill-select>span{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:rgba(223,189,114,.08);color:var(--gold)}.m-skill-select div{display:grid}.m-skill-select b{font-size:14px}.m-skill-select small{color:var(--muted);font-size:10px}.m-skill-select i{color:var(--gold);font-style:normal}.m-skill-card .m-info-button{width:40px}

  /* Spells */
  .m-spells-view{display:flex;min-height:100%;flex-direction:column;gap:9px}.m-spell-source{display:grid;gap:3px}.m-spell-source select{min-height:44px;font-size:16px}.m-spell-source small{color:var(--muted);font-size:11px}.m-spell-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.m-spell-counts span{display:grid;gap:3px;padding:8px;border-radius:8px;background:rgba(223,189,114,.05);color:var(--muted);font-size:10px}.m-spell-counts b{color:var(--text);font-size:13px}.m-prepared-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}.m-prepared-row>span{color:var(--gold);font-size:10px;font-weight:800}.m-prepared-row>div{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.m-prepared-row button{flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid rgba(223,189,114,.25);border-radius:8px;background:rgba(0,0,0,.20)}.m-prepared-image{width:100%;height:100%;object-fit:cover;border-radius:7px}.m-spell-sticky{position:sticky;top:-12px;z-index:5;margin:0 -1px;padding:8px 1px 7px;background:linear-gradient(180deg,rgba(11,9,7,.99),rgba(11,9,7,.92))}.m-spell-sticky input{width:100%;min-height:44px;border-radius:10px;font-size:16px}.m-filter-scroll{display:flex;gap:6px;overflow-x:auto;padding-top:7px;scrollbar-width:none}.m-filter-scroll::-webkit-scrollbar{display:none}.m-filter-scroll button{flex:0 0 auto;min-height:38px;padding:7px 12px;border:1px solid rgba(223,189,114,.14);border-radius:8px;background:rgba(0,0,0,.16);color:var(--muted)}.m-filter-scroll button.active{border-color:var(--gold);background:rgba(223,189,114,.12);color:#f7dd92}.m-spell-list{display:grid;gap:7px;min-height:0;overflow:visible}.m-spell-row{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:82px;padding:9px;border:1px solid rgba(223,189,114,.14);border-radius:10px;background:rgba(12,10,8,.68);text-align:left}.m-spell-row.selected{border-color:rgba(223,189,114,.42);background:rgba(223,189,114,.08)}.m-spell-row.prepared{box-shadow:inset 3px 0 var(--gold)}.m-spell-image{width:46px;height:46px;border-radius:9px;object-fit:cover}.m-spell-row>div{min-width:0}.m-spell-row>div>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.m-spell-row b{font-size:15px}.m-spell-row i{flex:0 0 auto;color:var(--gold);font-size:10px;font-style:normal}.m-spell-row small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.m-spell-row p{display:-webkit-box;overflow:hidden;margin:4px 0 0;color:#c8c0b4;font-size:12px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.m-spell-row em{display:inline-block;margin-top:5px;padding:3px 6px;border-radius:6px;background:rgba(0,0,0,.24);font-size:10px;font-style:normal}.m-spell-row>span{color:var(--gold);font-size:18px}.m-sheet-title{margin-bottom:12px}.m-sheet-title h2{margin:4px 0 3px;font-size:25px}.m-sheet-title p,.m-sheet-title small{color:var(--muted)}.m-spell-sheet-title{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px}.m-sheet-spell-image{width:58px;height:58px;border-radius:11px;object-fit:cover}.m-cast-level{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.m-cast-level select{min-height:42px;font-size:16px}

  /* Sheets and step drawer */
  .mobile-step-sheet h2{margin:4px 0 14px}.mobile-step-list{display:grid;gap:7px}.mobile-step-item{display:grid;grid-template-columns:38px minmax(0,1fr) 22px;align-items:center;gap:9px;min-height:62px;padding:8px;border:1px solid rgba(223,189,114,.14);border-radius:10px;background:rgba(0,0,0,.18);text-align:left}.mobile-step-item>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:rgba(223,189,114,.07);color:var(--gold);font-size:11px}.mobile-step-item div{display:grid}.mobile-step-item b{font-size:14px}.mobile-step-item small{color:var(--muted);font-size:11px}.mobile-step-item i{color:var(--gold);font-style:normal}.mobile-step-item.active{border-color:var(--gold);background:rgba(223,189,114,.10)}
  .mobile-sheet{width:100%;max-width:none;max-height:90dvh;padding:8px max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-radius:22px 22px 0 0;background:#12100d;box-shadow:0 -24px 70px rgba(0,0,0,.58)}.sheet-scroll{max-height:calc(90dvh - 58px);padding-bottom:4px;overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-header{position:sticky;top:0;z-index:3;background:#12100d}.sheet-close{min-width:44px;min-height:44px;font-size:14px}
}

@media(max-width:390px){
  :root{--m-page-x:12px}.mobile-task-head h1{font-size:23px}.m-level-picker strong{font-size:66px}.m-skill-grid{grid-template-columns:1fr}.m-class-sheet-grid{grid-template-columns:1fr}.m-ability-item{grid-template-columns:42px minmax(64px,1fr) 42px 42px auto;gap:4px}.m-ability-item>span{font-size:9px}.mobile-actionbar button{font-size:13px;padding-inline:6px}
}

@media(orientation:landscape) and (max-height:500px) and (min-width:568px) and (max-width:950px){
  :root{--m-header-h:48px;--m-footer-h:52px;--m-page-x:10px}.mobile-app-header{height:48px;align-items:center;padding:0 max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left))}.mobile-step-status{grid-template-columns:auto minmax(0,1fr);justify-items:start;column-gap:8px;text-align:left}.mobile-step-status span{grid-row:1/3}.mobile-step-status small{display:none}.mobile-build-main{padding-top:8px}.mobile-task-head{min-height:42px;padding-bottom:6px}.mobile-task-head h1{font-size:20px}.mobile-task-head p{display:none}.mobile-inline-result{display:none}.mobile-build-content{padding-top:7px}.mobile-actionbar{height:52px;padding-top:4px}.mobile-actionbar button{min-height:42px}.m-spell-list{grid-template-columns:repeat(2,minmax(0,1fr))}.m-skill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.m-option-list,.m-feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}.m-level-view{grid-template-columns:minmax(240px,.75fr) minmax(300px,1.25fr);align-items:start}.m-level-picker{grid-row:1/3}.m-level-impact{grid-column:2}.m-level-view>.m-card{grid-column:2}.m-level-view>.m-key-facts{grid-column:2}.mobile-sheet{max-height:92dvh}.sheet-scroll{max-height:calc(92dvh - 52px)}
}

@media(prefers-reduced-motion:reduce){.mobile-app-shell *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:767px){.m-load-more{min-height:46px;border:1px solid rgba(223,189,114,.24);border-radius:10px;background:rgba(223,189,114,.06);color:var(--gold);font-weight:800}}
@media(max-width:767px){
  .m-home-shell{position:relative;display:grid;width:100%;height:var(--app-height,100dvh);min-height:100dvh;place-items:end stretch;overflow:hidden;background:#0b0a08}.m-home-bg{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(7,6,5,.28),rgba(7,6,5,.82) 54%,#080705 88%),url("../images/fantasy-forest.webp");background-position:58% center;background-size:cover}.m-home-content{position:relative;display:grid;gap:10px;padding:calc(32px + env(safe-area-inset-top)) 20px calc(26px + env(safe-area-inset-bottom));z-index:1}.m-home-mark{display:grid;width:50px;height:50px;place-items:center;margin-bottom:8px;border:1px solid rgba(223,189,114,.48);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);color:var(--gold);font-family:Georgia,serif}.m-home-content h1{max-width:330px;margin:2px 0;font-family:Georgia,"Noto Serif SC",serif;font-size:38px;line-height:1.08}.m-home-content>p{max-width:320px;margin:0 0 8px;color:var(--text-soft);font-size:14px;line-height:1.55}.m-resume-card{display:grid;gap:3px;padding:14px;border:1px solid rgba(223,189,114,.28);border-radius:12px;background:rgba(10,8,6,.72);text-align:left;backdrop-filter:blur(6px)}.m-resume-card span{color:var(--gold);font-size:10px;font-weight:800}.m-resume-card b{font-size:18px}.m-resume-card small{color:var(--muted);font-size:12px}.m-resume-card i{justify-self:end;color:var(--gold);font-size:11px;font-style:normal}.m-home-actions{display:grid;gap:8px;margin-top:4px}.m-home-actions button{min-height:48px;border-radius:10px;font-weight:800}.m-home-version{margin-top:4px;color:var(--muted);font-size:10px;text-align:center}
}

/* M17: keep the active mobile stage visible after step changes. */
@media (max-width:767px){
  .m-stage-tabs,
  .m-node-switcher,
  .m-route-dots,
  .m-filter-scroll{
    scroll-behavior:smooth;
    scroll-padding-inline:12px;
    overscroll-behavior-inline:contain;
  }
  .m-stage-tabs button.active,
  .m-node-switcher button.active,
  .m-route-dots button.active,
  .m-filter-scroll button.active{
    scroll-margin-inline:12px;
  }
  @media (prefers-reduced-motion:reduce){
    .m-stage-tabs,
    .m-node-switcher,
    .m-route-dots,
    .m-filter-scroll{scroll-behavior:auto}
  }
}
