/* R2 experience layer — inherits Wa Modern Arena V1 tokens. */
.flow-page[hidden],.page-home[hidden]{display:none!important}
.flow-page{min-height:calc(100vh - 110px);padding:24px 16px 105px;animation:flowAppear .24s ease-out}
.flow-top{display:flex;align-items:center;gap:18px;padding:0 0 18px;border-bottom:1px solid var(--line);color:#718092}
.flow-back{appearance:none;border:1px solid #ddd2c5;padding:10px 17px;border-radius:40px;color:var(--ink);background:#fffaf3;font-size:13px;font-weight:800;min-height:43px}
.flow-breadcrumb{font-size:10px;letter-spacing:.1em;margin:auto}.prototype-chip,.flow-status{background:#f3e3d9;color:#ae4a35;border:1px solid #ead0c3;padding:8px 11px;border-radius:99px;font-weight:800;letter-spacing:.06em;font-size:10px;white-space:nowrap}
.flow-content{max-width:1240px;margin:0 auto}.flow-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:43px 0 31px}.flow-kicker{color:var(--verm);letter-spacing:.16em;font-size:10px;font-weight:900}.flow-heading h1{font:900 clamp(32px,4vw,51px)/1.26 var(--serif);letter-spacing:-.06em;color:var(--ink);margin:8px 0}.flow-heading p{margin:0;color:#6b7886;font-size:14px;line-height:1.8}.flow-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.flow-mode-card{height:340px;position:relative;overflow:hidden;border-radius:20px;border:1px solid #e0d9cf;background:linear-gradient(145deg,#fff9ed,#e7e5dd);display:flex;align-items:flex-start;flex-direction:column;padding:24px;text-align:left;box-shadow:0 12px 25px #2a3e5210;transition:transform .2s,border-color .2s}.flow-mode-card:nth-child(2){background:linear-gradient(145deg,#f9fbff,#d7e3ec)}.flow-mode-card:nth-child(3){background:linear-gradient(145deg,#fcf9ee,#e1e6d5)}.flow-mode-card:nth-child(4){background:linear-gradient(145deg,#fdf8f5,#e9dad4)}.flow-mode-card:hover{transform:translateY(-4px);border-color:#cda48f}.flow-mode-symbol{font:900 145px var(--serif);color:#c26950;text-shadow:4px 7px #e5c9b9,12px 24px 22px #6b514e30;margin:auto;align-self:center}.flow-mode-card:nth-child(2) .flow-mode-symbol{color:#4e7cab;text-shadow:5px 8px #b4c7d8}.flow-mode-card:nth-child(3) .flow-mode-symbol{color:#6e956b;text-shadow:5px 8px #d8e0d0}.flow-mode-card:nth-child(4) .flow-mode-symbol{color:#b16b5a}.flow-mode-card strong{font-size:20px}.mode-next-arrow{position:absolute;bottom:25px;right:23px;font-size:24px;color:#607286}.flow-callout,.stat-note{font-size:12px;color:#84745d;line-height:1.75;padding:13px 16px;background:#f6ebd9;border-left:3px solid #c78c60;border-radius:4px;margin-top:23px}
.chapter-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:21px}.chapter-switch button{display:flex;align-items:center;gap:14px;text-align:left;min-height:76px;border:1px solid #e1d6c9;background:#fffaf1;border-radius:16px;padding:12px 17px;color:#596777}.chapter-switch button.current{border-color:#c56a55;background:#faeae0;box-shadow:0 3px 0 #c56a5544}.chapter-switch button>span{font:900 29px var(--serif);color:#bf604a}.chapter-switch button strong{font-size:14px;flex:1;color:#293c4e}.chapter-switch button small{font-size:9px;color:#9e7b6c;letter-spacing:.15em}
.stage-layout,.glyph-layout,.prepare-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);gap:22px;align-items:stretch}.chapter-path,.stage-detail,.glyph-stage,.glyph-editor,.prepare-versus,.prepare-summary{border:1px solid #e0d7cc;border-radius:23px;background:#fffaf2;overflow:hidden;box-shadow:0 16px 36px #2a3e5210}.chapter-path{padding:26px 29px;background:radial-gradient(ellipse at 65% 15%,#eff2ee 0%,#f4eee5 62%)}.chapter-path-heading{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #ded1c4;padding-bottom:17px}.chapter-path-heading span{font-size:11px;color:#b35745;font-weight:800;letter-spacing:.16em}.chapter-path-heading strong{font:800 25px var(--serif)}.stage-nodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;position:relative;padding:53px 0}.stage-nodes::before{content:'';height:4px;position:absolute;left:10%;right:10%;top:50%;background:#d6c7b5;border-radius:8px}.stage-node{position:relative;z-index:1;border:1px solid #e2d6c9;border-radius:19px;min-width:0;min-height:160px;padding:16px 9px;background:#fffdf8;box-shadow:0 7px 0 #dfd2c1;display:flex;align-items:center;flex-direction:column;gap:6px;color:#536578;transition:.16s transform,.16s box-shadow}.stage-node:hover{transform:translateY(-4px)}.stage-node.active{border-color:var(--verm);background:#f9e5da;box-shadow:0 7px 0 #d89c89}.stage-node-num{font-size:9px;letter-spacing:.15em;font-weight:800}.stage-node-glyph{font:900 53px/1.4 var(--serif);color:#c2604d}.stage-node-label{font-size:11px;font-weight:800;text-align:center;min-height:35px}.boss-label{position:absolute;top:-12px;background:var(--ink);color:#fff;padding:5px 11px;font-size:9px;font-weight:800;letter-spacing:.1em;border-radius:99px}.chapter-line-note{font-size:11px;color:#968877;text-align:center}
.stage-detail{padding:32px 28px;display:flex;flex-direction:column}.stage-detail-head h2{font:900 32px/1.4 var(--serif);margin:10px 0 5px}.stage-rival{display:flex;align-items:center;justify-content:center;gap:20px;flex:1;background:radial-gradient(ellipse at center,#e2e9eb,#f8f6ec 70%);border-radius:18px;margin:20px 0;padding:35px 10px;min-height:200px}.stage-rival span{align-self:flex-start;color:#909cad;font-size:11px;font-weight:900}.stage-rival span:nth-of-type(2){align-self:center;color:#b0a193;font-size:15px;font-weight:900}.stage-rival strong{font:900 75px var(--serif);color:#c1634e;text-shadow:2px 4px #e0aca0}.stage-rival strong.player{color:#437ebd;text-shadow:2px 4px #c2d4e8}.stage-facts{margin:12px 0 22px}.stage-facts div{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e5dfd6;font-size:12px}.stage-facts dt{color:#85909a}.stage-facts dd{margin:0;color:#2c4357;font-weight:900;text-align:right}.r2-primary{width:100%;justify-content:space-between}.r2-secondary{width:100%;margin-top:13px}
.glyph-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}.glyph-stage{position:relative;min-height:620px;background:radial-gradient(circle at 52% 42%,#f8fbf9 0%,#d9e6e9 53%,#bbd3d8 90%)}.glyph-stage::before{content:'';position:absolute;inset:7%;background-image:linear-gradient(#7193a013 1px,transparent 1px),linear-gradient(90deg,#7193a013 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse,black,transparent 70%);pointer-events:none}.glyph-stage canvas{width:100%;height:100%;position:absolute;inset:0;cursor:grab;touch-action:pan-y}.glyph-stage-top,.glyph-stage-foot{position:absolute;z-index:1;left:28px;right:28px;display:flex;justify-content:space-between;pointer-events:none}.glyph-stage-top{top:25px}.glyph-stage-foot{bottom:28px;color:#728b95;font-size:11px;font-weight:800;letter-spacing:.08em}.preview-spin-tip{font-size:10px;color:#7a91a0;letter-spacing:.1em}.glyph-editor{padding:32px}.form-caption{font-size:12px;font-weight:900;color:#617082;margin:0 0 12px}.glyph-text-line{display:flex;gap:9px;margin-bottom:28px}.glyph-text-line input{height:65px;min-width:0;flex:1;padding:5px 16px;border:1px solid #d7cfc5;border-radius:13px;font:900 31px var(--serif);background:#fffdf8;text-align:center;color:#293f56}.glyph-text-line input:focus-visible{outline:3px solid #3978cf70}.randomize-glyph{width:65px;border:1px solid #d7cfc5;border-radius:13px;background:#f6f0e6;font-size:27px;color:#bf604a}.font-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:28px}.font-choice button{padding:12px 3px;background:#f6f0e6;border:1px solid #dfd4c8;border-radius:9px;font-size:11px;font-weight:800;color:#526275}.font-choice button.current{background:#223a50;color:#fff;border-color:#223a50}.stats-preview{border:1px solid #e6dcd2;padding:20px;border-radius:15px;margin-bottom:23px;background:#fefbf6}.stats-title{font-size:12px;font-weight:900;color:#30495e;margin-bottom:21px;display:flex;justify-content:space-between;gap:6px}.stats-title span{font-size:9px;color:#bd553f;letter-spacing:.1em}.r2-stat{display:grid;grid-template-columns:78px 1fr 30px;gap:9px;align-items:center;margin-bottom:15px;color:#5c6975;font-size:11px;font-weight:800}.r2-stat-track{height:9px;border-radius:20px;background:#e7e8e5;overflow:hidden}.r2-stat-track i{display:block;height:100%;background:#4888c9;border-radius:20px}.r2-stat:nth-of-type(3) .r2-stat-track i{background:#c65c48}.r2-stat:nth-of-type(4) .r2-stat-track i{background:#58a27c}.r2-stat:nth-of-type(5) .r2-stat-track i{background:#9579ae}.r2-stat strong{text-align:right}.stats-preview .stat-note{margin:18px 0 0;padding:9px 10px;font-size:10px}
.prepare-layout{grid-template-columns:1.25fr .75fr}.prepare-versus{display:flex;align-items:center;justify-content:space-around;gap:12px;padding:40px 24px;background:radial-gradient(ellipse at center,#e8ece8,#fcf9f2 75%);min-height:500px}.prepare-entry{text-align:center;flex:1}.prepare-entry>span{font-size:11px;font-weight:900;color:#567da0;letter-spacing:.12em}.prepare-entry.rival>span{color:#bb6a57}.prepare-symbol{display:block;font:900 clamp(90px,9vw,150px)/1.4 var(--serif);color:#3977c1;text-shadow:3px 5px #bbd4eb,8px 13px 20px #405f783d}.prepare-entry.rival .prepare-symbol{color:#c8614b;text-shadow:3px 5px #e8b0a4,8px 13px 20px #8f463c36}.prepare-small{font-size:11px;color:#7d8b97;font-weight:900;letter-spacing:.11em}.prepare-edit{margin-top:26px;border:1px solid #bfcad1;border-radius:10px;background:#ffffff96;padding:10px 16px;font-size:11px;font-weight:900;color:#366b9a}.versus-large{font:900 31px var(--serif);color:#b5aa9f}.prepare-summary{padding:40px 32px;display:flex;flex-direction:column}.prepare-summary h2{font:900 32px var(--serif);margin:13px 0 30px}.prepare-summary .r2-primary{margin-top:auto}.prepare-summary .stat-note{margin:10px 0 25px}.handoff-card{padding:38px;display:grid;grid-template-columns:110px 1fr;gap:25px;border:1px solid #e0d5c6;background:#fffbf3;border-radius:22px;max-width:1000px}.handoff-seal{width:95px;height:95px;background:#bd563d;border:5px double #ffe9dd;display:grid;place-items:center;color:white;font:900 57px var(--serif);transform:rotate(-7deg)}.handoff-card h2{margin:0 0 10px;font-size:26px}.handoff-card p{font-size:13px;color:#677786;line-height:1.8}.handoff-card pre{white-space:pre-wrap;word-break:break-word;padding:19px;background:#243748;color:#e7f0fa;border-radius:12px;line-height:1.6;font-size:11px}.handoff-actions{display:flex;flex-wrap:wrap;gap:12px}.handoff-actions>a{text-decoration:none;padding:0 18px}.handoff-actions button{padding:0 21px}.webgl-fallback{position:absolute;inset:15%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.webgl-fallback strong{font:900 130px var(--serif);color:#3978cf}.webgl-fallback small{font-size:11px;color:#637c89}
@keyframes flowAppear{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.flow-mode-grid{grid-template-columns:repeat(2,1fr)}.stage-layout,.glyph-layout,.prepare-layout{grid-template-columns:1fr}.glyph-stage{min-height:420px}.stage-detail{min-height:360px}.chapter-path{padding:24px}.prepare-versus{min-height:360px}.stage-nodes{gap:12px}}
@media(max-width:800px){.flow-page{padding:14px 0 110px}.flow-heading{margin:25px 0 19px}.flow-heading h1{font-size:clamp(28px,7vw,40px)}.flow-breadcrumb{display:none}.flow-top{justify-content:space-between}.chapter-switch{gap:8px}.chapter-switch button{gap:6px;padding:10px}.chapter-switch button strong{font-size:11px}.chapter-switch button small{display:none}.stage-nodes{padding:40px 0 27px}.glyph-stage{min-height:370px}.prepare-versus{padding:22px}.stage-rival{min-height:170px}}
@media(max-width:500px){.flow-page{padding-bottom:105px}.flow-heading p{font-size:12px}.flow-mode-grid{gap:10px}.flow-mode-card{height:230px;padding:16px;border-radius:15px}.flow-mode-symbol{font-size:92px}.flow-mode-card strong{font-size:15px}.chapter-switch button>span{font-size:24px}.chapter-switch button{min-height:65px;display:flex;flex-direction:column;gap:1px;justify-content:center}.chapter-switch button strong{text-align:center}.stage-nodes{gap:6px}.stage-node{min-height:126px;padding:14px 4px;border-radius:11px}.stage-node-glyph{font-size:40px}.stage-node-label{font-size:9px}.chapter-path{padding:16px 12px}.chapter-path-heading strong{font-size:18px}.stage-detail{padding:23px}.stage-rival strong{font-size:56px}.glyph-stage{min-height:310px}.glyph-editor{padding:22px}.font-choice{gap:5px}.font-choice button{font-size:10px}.prepare-versus{min-height:285px;padding:22px 8px}.prepare-symbol{font-size:80px}.versus-large{font-size:21px}.prepare-summary{padding:25px}.prepare-summary h2{font-size:26px}.handoff-card{padding:21px;grid-template-columns:1fr;gap:8px}.handoff-seal{width:66px;height:66px;font-size:39px}.handoff-actions>*{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.flow-page{animation:none}.flow-mode-card{transition:none}}
[hidden]{display:none!important}
.webgl-fallback{inset:8% 4%;pointer-events:none}
.webgl-fallback .fallback-ring{position:absolute;left:6%;right:6%;top:36%;bottom:20%;border:11px solid #96b2bc;border-top-color:#c7dbe0;border-radius:50%;transform:perspective(300px) rotateX(48deg);box-shadow:0 12px 0 #617c8b,0 25px 33px #253e4c2a,inset 0 12px 24px #6b929d2b;background:radial-gradient(ellipse,#f2f8f4,#d2e4e5)}
.webgl-fallback .fallback-duel{position:relative;display:flex;align-items:center;gap:42px;margin-top:-5%;font:900 clamp(75px,8vw,137px)/1.1 var(--serif)}
.webgl-fallback .fallback-p1{display:block;color:#3477bc;text-shadow:2px 2px #eaf7ff,5px 8px #26558e,12px 18px 20px #123a6355;transform:rotate(-12deg)}
.webgl-fallback .fallback-rival{display:block;color:#c65c47;text-shadow:2px 2px #f9e3d9,5px 8px #924739,12px 18px 20px #613b3155;transform:rotate(14deg);font-size:.8em}
.webgl-fallback small{position:absolute;bottom:10%;font-size:10px;color:#617c8b;font-weight:800}
.glyph-stage .webgl-fallback .fallback-duel{font-size:150px}
@media(max-width:800px){.webgl-fallback .fallback-duel{font-size:80px;gap:27px}.glyph-stage .webgl-fallback .fallback-duel{font-size:110px}}
@media(max-width:500px){.webgl-fallback .fallback-duel{font-size:60px;gap:17px}.glyph-stage .webgl-fallback .fallback-duel{font-size:100px}.webgl-fallback .fallback-ring{border-width:7px}}
/* R2 demo controls must never cover the font picker or stage CTA. */
.proto-bar{position:relative;right:auto;bottom:auto;width:max-content;max-width:calc(100% - 24px);margin:8px auto 22px;box-shadow:0 5px 14px #162d4730}
@media(max-width:500px){.proto-bar{position:relative;right:auto;bottom:auto;padding:8px 10px;gap:7px;margin:15px auto 20px}.proto-label{display:block;font-size:9px}}
/* Keep decorative ink-stamp inside viewport to avoid real horizontal overflow. */
.ambient-stamp{right:0}
@media(max-width:360px){.global-header{gap:6px}.header-actions{gap:4px}.brand{gap:7px}.brand-en{font-size:6px}.account-button{padding:3px}.account-avatar{width:25px;height:25px}.header-icon{width:25px}}
.input-hint{min-height:16px;margin:-19px 0 13px;color:#b04e3a;font-weight:700;font-size:11px}
