/* R15 · Page #002 Story Stage Select. Scoped to avoid modifying arena/home.
   One continuous source for both static HTML and React/Vite entry. */
.r15-board{--stage-edge:#8da5d54d;--stage-line:#afc3e236;--stage-gold:#f8dca7;--stage-muted:#b4c7e5;min-width:0;color:#ecf3ff}
.r15-title{max-width:1240px}
.r15-chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}
.r15-chapter-tab{color:#dbe8fd;display:flex;align-items:center;gap:12px;min-width:0;min-height:86px;padding:14px 17px;text-align:left;background:#1b3054;border:1px solid var(--stage-edge);border-radius:13px;box-shadow:inset 0 1px #e3efff15;transition:background .15s,border-color .15s}
.r15-chapter-tab.is-current{background:linear-gradient(130deg,#514866,#293d66 75%);border:1px solid #ffda9e9c;box-shadow:inset 0 1px #ffdfac38,0 5px 18px #0a102875}
.r15-chapter-tab.is-planned{opacity:.62;cursor:not-allowed}
.r15-chapter-mark{font:900 30px/1 var(--serif);color:var(--stage-gold)}
.r15-chapter-info{flex:1;min-width:0;display:grid;gap:5px}.r15-chapter-info strong{font-size:11px;letter-spacing:.08em;white-space:nowrap}.r15-chapter-info small{font-size:12px;color:#e3ecff;overflow-wrap:anywhere}
.r15-chapter-badge{white-space:nowrap;color:var(--stage-gold);font-size:10px;letter-spacing:.04em;font-weight:850}
.r15-chapter-progress{border-radius:14px 14px 0 0;border:1px solid var(--stage-edge);border-bottom:0;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#172847}
.r15-chapter-progress>div:first-child{display:grid;gap:5px}.r15-chapter-progress strong{font-size:23px;color:#fdf2d4;line-height:1.3}.r15-chapter-progress strong small{font-size:13px;color:#d6e2fb;font-weight:650}
.r15-chapter-track{height:10px;max-width:290px;flex:1;background:#0e1b34;border-radius:50px;border:1px solid #819cc34f;overflow:hidden}.r15-chapter-track span{display:block;height:100%;border-radius:50px;background:linear-gradient(90deg,#69cbb6,#ffdfa6)}
.r15-stage-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:0;align-items:stretch;border:1px solid var(--stage-edge);border-radius:0 0 15px 15px;overflow:hidden;background:#182b4e}
.r15-stage-list{min-width:0;padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px;background:radial-gradient(ellipse at 45% 0%,#3d5081 0%,#1b3057 67%,#142642 100%);border-right:1px solid var(--stage-line)}
.r15-tile{min-width:0;min-height:218px;padding:18px 17px 16px;display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:left;background:linear-gradient(145deg,#2c4576,#192d52);border:1px solid #93adda71;border-radius:13px;color:#eff5ff;box-shadow:0 6px 13px #0713295c,inset 0 1px #ffffff15;transition:transform .15s,border-color .15s,box-shadow .15s}
.r15-tile:not(:disabled):hover{transform:translateY(-3px);border-color:#ffe5ad;box-shadow:0 9px 24px #080f2d99}.r15-tile:not(:disabled):active{transform:translateY(1px)}
.r15-tile.is-selected{border:2px solid #f8dca7;padding:17px 16px 15px;box-shadow:0 0 0 2px #f8dca724,0 8px 25px #0711298c}
.r15-tile.r15-cleared{background:linear-gradient(140deg,#2c5266,#1c3654)}.r15-tile.r15-locked{opacity:.58;background:linear-gradient(145deg,#283652,#16233e);cursor:not-allowed;box-shadow:none}
.r15-tile-meta,.r15-tile-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.r15-tile-meta small{font-size:10px;color:#d8e6ff;letter-spacing:.1em;font-weight:850}.r15-tile-status{font-weight:850;color:#ffe1a0;font-size:10px;text-align:right}.r15-locked .r15-tile-status{color:#bdc8db}
.r15-tile-glyph{font:900 59px/1.2 var(--serif);color:#a6e8fa;text-shadow:0 6px 21px #65d8fb33;align-self:center;margin:4px 0}.r15-locked .r15-tile-glyph{filter:grayscale(1)}.r15-tile:nth-child(4) .r15-tile-glyph{color:#ffd79a;text-shadow:0 5px 17px #fac17b4a}
.r15-tile-title{font:850 15px/1.35 var(--sans);text-align:center;overflow-wrap:anywhere}.r15-tile-foot{margin-top:auto;border-top:1px solid #8ea9d345;padding-top:10px;color:#ffdb91;font-size:15px;letter-spacing:.08em}.r15-tile-foot small{font-size:10px;color:#d3e0f5;white-space:nowrap;letter-spacing:0}
.r15-stage-inspector{min-width:0;padding:28px 26px 26px;display:flex;flex-direction:column;align-items:stretch;background:linear-gradient(160deg,#233b69,#112341 85%)}
.r15-inspector-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.r15-inspector-status{border-radius:7px;background:#294b5b;color:#adf1d1;padding:6px 9px;font-weight:850;font-size:10px;white-space:nowrap}
.r15-stage-inspector h2{font:900 clamp(25px,2.3vw,34px)/1.25 var(--serif);color:#fff;margin:10px 0 6px;overflow-wrap:anywhere}
.r15-inspector-tip{color:var(--stage-muted);font-size:13px;line-height:1.7;margin:0 0 13px}
.r15-versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;min-height:145px;padding:17px 15px;border:1px solid #95c7ff45;background:radial-gradient(ellipse at center,#38537e,#1a2c4f 75%);border-radius:12px;text-align:center}
.r15-versus>div{min-width:0;display:flex;flex-direction:column;gap:5px}.r15-versus small{font-size:10px;font-weight:850;letter-spacing:.13em;color:#c5d9ef}.r15-versus strong{font:900 clamp(46px,5vw,72px)/1.15 var(--serif);color:#f6cda5;overflow-wrap:anywhere}.r15-versus>div:last-child strong{color:#a5e8fe}.r15-versus>span{font-size:17px;font-weight:900;color:#e6ebff}
.r15-mission{margin:19px 0 8px}.r15-mission h3{font-size:11px;font-weight:900;letter-spacing:.11em;color:#f9d999;margin:13px 0 8px}.r15-mission>p:not(.r15-mission-help){font-weight:800;font-size:13px;line-height:1.55;color:#ecf4ff;margin:0;padding:10px 12px;background:#0e2345;border-left:3px solid #eabf85;border-radius:6px}
.r15-mission-goals{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:8px}.r15-goal{display:flex;align-items:center;gap:12px;padding:10px 11px;border:1px solid #829fc246;border-radius:8px;background:#1d3455;color:#e7f0ff;font-size:12px;line-height:1.55}.r15-goal-star{white-space:nowrap;font-weight:850;color:#fce0a2;min-width:35px}
.r15-mission-help{font-size:11px;line-height:1.7;color:#b9c8e4;margin:12px 0 0}.r15-pb{margin:8px 0;font-weight:850;color:#ffdfaa;font-size:12px}.r15-storage-warning{font-size:12px;line-height:1.6;color:#ffd6b0;border:1px solid #ffd49b61;padding:9px 11px;border-radius:8px}
.r15-start{margin-top:auto;padding:0 17px;min-height:57px;font-weight:900}.r15-stage-inspector .r15-start:focus-visible,.r15-tile:focus-visible,.r15-chapter-tab:focus-visible{outline:3px solid #ffebc5;outline-offset:3px}
@media(max-width:940px){.r15-stage-layout{grid-template-columns:minmax(0,1fr)}.r15-stage-list{border-right:0;border-bottom:1px solid var(--stage-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:17px}.r15-tile{min-height:188px;padding:12px 9px}.r15-tile.is-selected{padding:11px 8px}.r15-tile-glyph{font-size:47px}.r15-tile-title{font-size:12px}.r15-tile-meta{flex-direction:column;align-items:flex-start}.r15-tile-status{font-size:9px}.r15-tile-foot{flex-wrap:wrap}.r15-stage-inspector{padding:23px}.r15-versus{min-height:118px}.r15-chapter-tab{padding:12px;gap:9px}.r15-chapter-badge{font-size:9px}}
@media(max-width:650px){.r15-chapters{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:2px 2px 12px;gap:9px;scrollbar-width:thin}.r15-chapter-tab{scroll-snap-align:start;flex:0 0 min(78vw,250px);min-height:71px}.r15-chapter-progress{padding:15px 16px;gap:12px}.r15-chapter-progress strong{font-size:19px}.r15-chapter-progress strong small{font-size:11px}.r15-chapter-track{max-width:94px}.r15-stage-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.r15-tile{min-height:184px;padding:12px}.r15-tile.is-selected{padding:11px}.r15-tile-meta{flex-direction:row;align-items:start}.r15-tile-meta small{font-size:8px}.r15-tile-status{font-size:8px}.r15-tile-glyph{font-size:45px}.r15-tile-title{font-size:12px}.r15-stage-inspector{padding:19px 16px 22px}.r15-versus{min-height:120px}.r15-mission-goals{gap:6px}.r15-goal{font-size:12px}.r15-title .flow-status{display:none}}
@media(max-width:350px){.r15-chapter-progress{flex-direction:column;align-items:stretch}.r15-chapter-track{max-width:none;width:100%}.r15-tile{padding:10px 9px}.r15-tile.is-selected{padding:9px 8px}.r15-tile-glyph{font-size:40px}.r15-tile-foot small{font-size:9px}.r15-versus strong{font-size:46px}}
@media(prefers-reduced-motion:reduce){.r15-tile{transition:none}}
