@font-face{font-family:EX2 Display;src:url(/fonts/shippori-mincho-b1-800.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:EX2 UI;src:url(/fonts/zen-kaku-gothic-new-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:EX2 UI;src:url(/fonts/zen-kaku-gothic-new-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Brush;src:url(/fonts/yuji-syuku-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:EX2 Display KR;src:url(/fonts/noto-serif-kr-800.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:EX2 UI KR;src:url(/fonts/noto-sans-kr-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:EX2 UI KR;src:url(/fonts/noto-sans-kr-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Brush KR;src:url(/fonts/song-myung-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:EX2 Display SC;src:url(/fonts/noto-serif-sc-800.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:EX2 UI SC;src:url(/fonts/noto-sans-sc-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:EX2 UI SC;src:url(/fonts/noto-sans-sc-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Brush SC;src:url(/fonts/ma-shan-zheng-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:EX2 Display TC;src:url(/fonts/noto-serif-tc-800.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:EX2 UI TC;src:url(/fonts/noto-sans-tc-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:EX2 UI TC;src:url(/fonts/noto-sans-tc-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Brush TC;src:url(/fonts/lxgw-wenkai-tc-700.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:EX2 Display Cyrillic;src:url(/fonts/noto-serif-800.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:EX2 UI Cyrillic;src:url(/fonts/fira-sans-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:EX2 UI Cyrillic;src:url(/fonts/fira-sans-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Brush Cyrillic;src:url(/fonts/caveat-700.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:EX2 Display Persian;src:url(/fonts/noto-naskh-arabic-700.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:EX2 UI Persian;src:url(/fonts/vazirmatn-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:EX2 UI Persian;src:url(/fonts/vazirmatn-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Brush Persian;src:url(/fonts/aref-ruqaa-700.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:EX2 Endonym KR;src:url(/fonts/endonym-korean.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Endonym SC;src:url(/fonts/endonym-simplified-chinese.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Endonym TC;src:url(/fonts/endonym-traditional-chinese.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Endonym Cyrillic;src:url(/fonts/endonym-cyrillic.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:EX2 Endonym Persian;src:url(/fonts/endonym-persian.woff2)format("woff2");font-weight:700;font-display:swap}:root{--sumi:#0b0908;--lacquer:#1a1210;--lacquer-raised:#271b16;--lacquer-lit:#36261e;--gold:#c9a24a;--gold-bright:#e8c878;--gold-deep:#7d5f2a;--gold-leaf-pale:#f6df98;--vermilion:#d2452c;--vermilion-deep:#9e2f1c;--washi:#efe6d2;--washi-shade:#c9bb9d;--ink-on-paper:#2a201a;--ink-on-paper-soft:#5a4a3c;--chapter-lantern:#f0a64b;--chapter-ember:#e0452e;--chapter-moonlight:#9fb4d8;--faction-player:#e39a3b;--faction-chess-silver:#c3c8d4;--faction-enemy:#b3263a;--faction-chess-indigo:#3b4a8f;--light-core:#fff7e6;--crit-flare:#ffa63d;--font-display:"EX2 Display", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-ui:"EX2 UI", "Hiragino Sans", "Yu Gothic", sans-serif;--font-brush:"EX2 Brush", "Hiragino Mincho ProN", "Yu Mincho", serif;--gutter:16px;--gutter-wide:32px;--content:1200px;--header-height:64px;--toolbar-height:52px;--overlay-bar:48px;--gold-foil:linear-gradient(100deg, var(--gold-deep) 0%, var(--gold) 18%, var(--gold-leaf-pale) 38%, var(--gold-bright) 50%, var(--gold) 66%, var(--gold-leaf-pale) 84%, var(--gold-deep) 100%);--shadow-deep:0 28px 60px -24px color-mix(in srgb, var(--sumi) 85%, transparent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html:lang(ko){--font-display:"EX2 Display KR", "EX2 Display", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-ui:"EX2 UI KR", "EX2 UI", "Hiragino Sans", "Yu Gothic", sans-serif;--font-brush:"EX2 Brush KR", "EX2 Brush", "Hiragino Mincho ProN", "Yu Mincho", serif}html:lang(zh-Hans){--font-display:"EX2 Display SC", "EX2 Display", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-ui:"EX2 UI SC", "EX2 UI", "Hiragino Sans", "Yu Gothic", sans-serif;--font-brush:"EX2 Brush SC", "EX2 Brush", "Hiragino Mincho ProN", "Yu Mincho", serif}html:lang(zh-Hant){--font-display:"EX2 Display TC", "EX2 Display", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-ui:"EX2 UI TC", "EX2 UI", "Hiragino Sans", "Yu Gothic", sans-serif;--font-brush:"EX2 Brush TC", "EX2 Brush", "Hiragino Mincho ProN", "Yu Mincho", serif}html:lang(uk){--font-display:"EX2 Display Cyrillic", "EX2 Display", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-ui:"EX2 UI Cyrillic", "EX2 UI", "Hiragino Sans", "Yu Gothic", sans-serif;--font-brush:"EX2 Brush Cyrillic", "EX2 Brush", "Hiragino Mincho ProN", "Yu Mincho", serif}html:lang(fa){--font-display:"EX2 Display Persian", "EX2 Display", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-ui:"EX2 UI Persian", "EX2 UI", "Hiragino Sans", "Yu Gothic", sans-serif;--font-brush:"EX2 Brush Persian", "EX2 Brush", "Hiragino Mincho ProN", "Yu Mincho", serif}.lang-switch [lang=ko]{font-family:EX2 Endonym KR,EX2 UI,Hiragino Sans,Yu Gothic,sans-serif}.lang-switch [lang=zh-Hans]{font-family:EX2 Endonym SC,EX2 UI,Hiragino Sans,Yu Gothic,sans-serif}.lang-switch [lang=zh-Hant]{font-family:EX2 Endonym TC,EX2 UI,Hiragino Sans,Yu Gothic,sans-serif}.lang-switch [lang=uk]{font-family:EX2 Endonym Cyrillic,EX2 UI,Hiragino Sans,Yu Gothic,sans-serif}.lang-switch [lang=fa]{font-family:EX2 Endonym Persian,EX2 UI,Hiragino Sans,Yu Gothic,sans-serif}@media (min-width:896px){:root{--gutter:var(--gutter-wide)}}*,:before,:after{box-sizing:border-box}html{background:var(--sumi);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--sumi);min-height:100vh;color:var(--washi);font-family:var(--font-ui);font-feature-settings:"palt";word-break:normal;line-break:strict;overflow-wrap:anywhere;margin:0;font-size:16px;font-weight:500;line-height:1.8}h1,h2,h3,h4,.hero__lead,.cast-card__line,.section-lead{word-break:auto-phrase;text-wrap:balance}h1,h2,h3,h4,p,ol,ul,dl,dd,figure{margin:0;padding:0}ol,ul{list-style:none}img{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit;color:inherit}::selection{background:var(--gold);color:var(--sumi)}:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;border-radius:6px}#main:focus{outline:none}.skip-link{z-index:50;background:var(--washi);color:var(--ink-on-paper);border-radius:999px;padding:10px 18px;font-weight:700;text-decoration:none;position:absolute;top:-80px;left:12px}.skip-link:focus{top:12px}.section-inner{width:min(var(--content), 100% - 2 * var(--gutter));margin-inline:auto}.site-header{z-index:10;padding-top:env(safe-area-inset-top);background:linear-gradient(to bottom, color-mix(in srgb, var(--sumi) 82%, transparent), transparent);position:absolute;inset:0 0 auto}.site-header__inner{width:min(1320px, 100% - 2 * var(--gutter));height:var(--header-height);align-items:center;gap:20px;margin-inline:auto;display:flex}.brand{font-family:var(--font-display);letter-spacing:.04em;color:var(--washi);white-space:nowrap;align-items:baseline;gap:2px;font-size:22px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.brand__ex{background:var(--gold-foil);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text}.site-nav{gap:4px;margin-inline-start:auto;display:none}.site-nav a{letter-spacing:.06em;color:var(--washi);text-shadow:0 1px 8px var(--sumi);border-radius:999px;padding:6px 12px;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .16s ease-out,color .16s ease-out}.site-nav a:hover{background:color-mix(in srgb, var(--washi) 12%, transparent);color:var(--gold-bright)}@media (min-width:1100px){.site-nav{display:flex}}.lang-switch{margin-inline-start:auto;position:relative}@media (min-width:1100px){.lang-switch{margin-inline-start:0}}.lang-switch__current{background:color-mix(in srgb, var(--sumi) 70%, transparent);min-height:38px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent);color:var(--washi);letter-spacing:.04em;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:3px 14px;font-size:13px;font-weight:700;display:inline-flex}.lang-switch__current:after{content:"";border-inline-end:1.5px solid var(--gold);border-block-end:1.5px solid var(--gold);width:7px;height:7px;transition:transform .16s ease-out;transform:translateY(-2px)rotate(45deg)}.lang-switch__current[aria-expanded=true]:after{transform:translateY(2px)rotate(225deg)}.lang-switch__menu{z-index:30;background:var(--lacquer);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 45%, transparent), var(--shadow-deep);border-radius:14px;grid-template-columns:repeat(2,minmax(max-content,1fr));gap:4px;padding:8px;display:grid;position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0}.lang-switch__menu[hidden]{display:none}.lang-switch__option{min-width:120px;min-height:44px;color:var(--washi-shade);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 14px;font-size:15px;font-weight:700;transition:background-color .16s ease-out,color .16s ease-out}.lang-switch__option:hover{color:var(--washi);background:color-mix(in srgb, var(--gold) 12%, transparent)}.lang-switch__option[aria-pressed=true]{background:var(--gold-foil);color:var(--sumi);background-size:180% 100%}.header-play{background:var(--gold-foil);color:var(--sumi);letter-spacing:.08em;box-shadow:0 6px 18px -8px color-mix(in srgb, var(--gold) 80%, transparent);background-size:200% 100%;border-radius:999px;padding:8px 20px;font-size:14px;font-weight:700;text-decoration:none;display:none}@media (min-width:560px){.header-play{display:inline-block}}.hero{isolation:isolate;background:var(--sumi);grid-template-rows:1fr auto;min-height:min(100svh,980px);display:grid;position:relative;overflow:clip}.hero__art{z-index:-1;position:absolute;inset:0}.hero__image{object-fit:cover;object-position:36% 30%;width:100%;max-width:none;height:100%}.hero__art:after{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--sumi) 88%, transparent) 0%, color-mix(in srgb, var(--sumi) 55%, transparent) 26%, transparent 44%), linear-gradient(to top, var(--sumi) 0%, color-mix(in srgb, var(--sumi) 88%, transparent) 22%, transparent 52%);position:absolute;inset:0}.hero__title-block{padding:calc(var(--header-height) + env(safe-area-inset-top) + 18px) var(--gutter) 0;text-align:center;align-self:start}.hero__kicker{background:color-mix(in srgb, var(--sumi) 62%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 55%, transparent);letter-spacing:.14em;color:var(--gold-bright);border-radius:999px;padding:4px 14px;font-size:12px;font-weight:700;display:inline-block}.logotype{font-family:var(--font-display);letter-spacing:.02em;white-space:nowrap;background:var(--gold-foil);color:#0000;filter:drop-shadow(0 3px 0 var(--sumi)) drop-shadow(0 10px 24px color-mix(in srgb, var(--sumi) 90%, transparent));background-position:0 0;background-size:220% 100%;-webkit-background-clip:text;background-clip:text;margin-top:10px;font-size:clamp(48px,13vw,124px);font-weight:800;line-height:1.02}.logotype__ex{margin-inline-start:.06em;font-size:1.08em}.hero__tagline{font-family:var(--font-brush);letter-spacing:.12em;color:var(--washi);text-shadow:0 2px 12px var(--sumi), 0 0 2px var(--sumi);margin-top:6px;font-size:clamp(22px,5.6vw,44px);line-height:1.3}.hero__action-block{padding:0 var(--gutter) calc(28px + env(safe-area-inset-bottom));text-align:center;align-self:end;justify-items:center;gap:12px;display:grid}.hero__lead{max-width:34em;color:var(--washi);text-shadow:0 1px 10px var(--sumi);font-size:15px;font-weight:700;line-height:1.75}.play-cta{background:var(--gold-foil);min-width:min(100%,300px);min-height:64px;color:var(--sumi);font-family:var(--font-display);letter-spacing:.14em;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--light-core) 55%, transparent), inset 0 -4px 0 color-mix(in srgb, var(--gold-deep) 70%, transparent), 0 0 0 3px color-mix(in srgb, var(--sumi) 70%, transparent), 0 0 0 4px color-mix(in srgb, var(--gold) 70%, transparent), 0 14px 40px -10px color-mix(in srgb, var(--crit-flare) 70%, transparent);background-size:220% 100%;border-radius:14px;place-items:center;padding:0 40px;font-size:24px;font-weight:800;text-decoration:none;transition:transform .18s cubic-bezier(.2,.9,.3,1.3),box-shadow .18s ease-out;display:inline-grid;position:relative;overflow:hidden}.play-cta:before{content:"";background:linear-gradient(100deg, transparent, color-mix(in srgb, var(--light-core) 75%, transparent), transparent);pointer-events:none;width:40%;position:absolute;inset:0 auto 0 -60%;transform:skew(-18deg)}.play-cta__label:before{content:"";vertical-align:.06em;border-block:9px solid #0000;border-inline-start:14px solid;width:0;height:0;margin-inline-end:14px;display:inline-block}.play-cta:hover{transform:translateY(-2px)scale(1.02)}.play-cta:active{transform:translateY(1px)scale(.99)}.hero__note{color:var(--washi-shade);font-size:13px}.hero__howto{letter-spacing:.08em;color:var(--gold-bright);text-underline-offset:5px;-webkit-text-decoration-color:color-mix(in srgb, var(--gold) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--gold) 60%, transparent);font-size:13px;font-weight:700}.hero__flecks span{background:var(--gold-leaf-pale);opacity:0;width:7px;height:7px;box-shadow:0 0 10px color-mix(in srgb, var(--gold-bright) 80%, transparent);border-radius:1px;position:absolute}.hero__flecks span:first-child{--drift:-28px;animation-delay:0s;top:70%;left:12%}.hero__flecks span:nth-child(2){--drift:22px;width:5px;height:5px;animation-delay:1.3s;top:84%;left:26%}.hero__flecks span:nth-child(3){--drift:-16px;animation-delay:2.6s;top:76%;left:44%}.hero__flecks span:nth-child(4){--drift:30px;width:4px;height:4px;animation-delay:.7s;top:88%;left:58%}.hero__flecks span:nth-child(5){--drift:-24px;animation-delay:3.4s;top:72%;left:71%}.hero__flecks span:nth-child(6){--drift:18px;width:5px;height:5px;animation-delay:1.9s;top:80%;left:83%}.hero__flecks span:nth-child(7){--drift:-12px;width:4px;height:4px;animation-delay:4.2s;top:66%;left:92%}.hero__flecks span:nth-child(8){--drift:26px;animation-delay:5s;top:64%;left:35%}@media (min-width:896px){.hero{grid-template-rows:1fr;grid-template-columns:1fr 1fr;min-height:min(100svh,56.25vw,1080px)}.hero__image{object-position:center}.hero__art:after{background:linear-gradient(to bottom, color-mix(in srgb, var(--sumi) 70%, transparent) 0%, transparent 30%), radial-gradient(ellipse 58% 62% at 0% 0%, color-mix(in srgb, var(--sumi) 80%, transparent) 0%, transparent 100%), radial-gradient(ellipse 60% 70% at 100% 100%, color-mix(in srgb, var(--sumi) 92%, transparent) 0%, transparent 100%), linear-gradient(to top, color-mix(in srgb, var(--sumi) 70%, transparent) 0%, transparent 16%)}.hero__title-block{text-align:start;padding:calc(var(--header-height) + 24px) 0 0 max(var(--gutter), (100vw - 1320px) / 2);grid-column:1}.logotype{font-size:clamp(56px,5.6vw,104px)}.hero__tagline{letter-spacing:.08em;font-size:clamp(24px,2.3vw,40px)}.hero__action-block{text-align:end;padding:0 max(var(--gutter), (100vw - 1320px) / 2) 48px 0;grid-column:2;justify-items:end}.hero__lead{font-size:17px}.play-cta{min-width:340px;min-height:76px;font-size:28px}}.stage-section{background:radial-gradient(ellipse 70% 60% at 50% 35%, color-mix(in srgb, var(--chapter-lantern) 12%, transparent), transparent 70%), linear-gradient(to bottom, var(--sumi), var(--lacquer) 50%, var(--sumi));padding:56px 0 72px;display:none;position:relative}@media (min-width:896px) and (hover:hover) and (pointer:fine){.stage-section{display:block}}.stage-section__inner{width:min(var(--content), 100% - 2 * var(--gutter), (100svh - var(--toolbar-height) - 96px) * 16 / 9);margin-inline:auto}.stage-section__title{font-family:var(--font-display);letter-spacing:.08em;text-align:center;color:var(--gold-bright);margin-bottom:18px;font-size:28px}.stage{background:var(--lacquer);box-shadow:0 0 0 1px color-mix(in srgb, var(--gold) 70%, transparent), 0 0 0 5px var(--lacquer), 0 0 0 6px color-mix(in srgb, var(--gold-deep) 80%, transparent), 0 40px 90px -30px color-mix(in srgb, var(--sumi) 95%, transparent), 0 0 120px -20px color-mix(in srgb, var(--gold) 20%, transparent);border-radius:12px;position:relative}.stage__screen{aspect-ratio:16/9;border-radius:12px 12px 0 0;position:relative;overflow:hidden}.game-host{background:repeating-linear-gradient(45deg, transparent 0 22px, color-mix(in srgb, var(--gold-deep) 10%, transparent) 22px 23px), repeating-linear-gradient(-45deg, transparent 0 22px, color-mix(in srgb, var(--gold-deep) 10%, transparent) 22px 23px), radial-gradient(ellipse at center, var(--lacquer-raised) 0%, var(--lacquer) 45%, var(--sumi) 100%);outline:none;place-items:center;display:grid;position:absolute;inset:0}.game-host:focus-visible{box-shadow:inset 0 0 0 3px var(--gold-bright)}.game-host canvas{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;outline:none;display:block}.stage__poster{z-index:1;background:var(--sumi);cursor:pointer;border:0;padding:0;transition:opacity .32s ease-out,visibility 0s linear .32s;position:absolute;inset:0}.stage__poster-image{object-fit:cover;filter:brightness(.62)saturate(.9);width:100%;height:100%;transition:filter .24s ease-out,transform .6s ease-out}.stage__poster:hover .stage__poster-image{filter:brightness(.74)saturate();transform:scale(1.015)}.stage__poster-action{place-content:center;justify-items:center;gap:14px;display:grid;position:absolute;inset:0}.stage__poster-glyph{background:color-mix(in srgb, var(--sumi) 55%, transparent);width:104px;height:104px;box-shadow:inset 0 0 0 2px var(--gold-bright), 0 0 40px color-mix(in srgb, var(--gold) 45%, transparent);border-radius:50%;place-items:center;display:grid}.stage__poster-glyph:before{content:"";border-block:18px solid #0000;border-inline-start:30px solid var(--gold-leaf-pale);width:0;height:0;margin-inline-start:8px}.stage__poster-label,.stage__poster-loading{font-family:var(--font-display);letter-spacing:.12em;color:var(--washi);text-shadow:0 2px 10px var(--sumi);font-size:26px}.stage__poster-loading,.stage__poster-failed{display:none}.stage__poster-failed{max-width:24em;color:var(--washi);text-shadow:0 2px 10px var(--sumi);font-size:15px;font-weight:700}.stage[data-state=loading] .stage__poster-label,.stage[data-state=failed] .stage__poster-label{display:none}.stage[data-state=loading] .stage__poster-loading,.stage[data-state=failed] .stage__poster-failed{display:block}.stage[data-state=loading] .stage__poster-glyph{animation:1.2s ease-in-out infinite alternate breathe}.stage[data-state=running][data-host-away=false] .stage__poster{opacity:0;visibility:hidden}.stage__toolbar{min-height:var(--toolbar-height);background:linear-gradient(to bottom, var(--lacquer-raised), var(--lacquer));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--gold) 40%, transparent);border-radius:0 0 12px 12px;align-items:center;gap:8px;padding:8px 12px 8px 20px;display:flex}.stage__hint{color:var(--washi-shade);margin-inline-end:auto;font-size:13px}.stage__tool{background:var(--lacquer-raised);min-height:36px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 50%, transparent);color:var(--washi);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:4px 14px;font-size:13px;font-weight:700;transition:background-color .16s ease-out;display:inline-flex}.stage__tool:hover{background:var(--lacquer-lit)}.stage__tool[aria-pressed=true]{background:var(--gold-foil);color:var(--sumi);background-size:180% 100%}.stage__tool[aria-disabled=true]{opacity:.5;cursor:not-allowed}.stage__tool-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.stage-section:has(.stage[data-theater=true]){background:var(--sumi);padding:0}.stage-section:has(.stage[data-theater=true]) .stage-section__title{display:none}.stage-section:has(.stage[data-theater=true]) .stage-section__inner{width:100%}.stage[data-theater=true]{box-shadow:none;border-radius:0}.stage[data-theater=true] .stage__screen{aspect-ratio:auto;height:calc(100svh - var(--toolbar-height));border-radius:0}.stage[data-theater=true] .stage__toolbar{border-radius:0}.stage:fullscreen{background:var(--sumi);width:100%;height:100%;box-shadow:none;border-radius:0;flex-direction:column;display:flex}.stage:fullscreen .stage__screen{aspect-ratio:auto;border-radius:0;flex:auto;height:auto;min-height:0}.stage:fullscreen .stage__toolbar{border-radius:0}.stage:fullscreen .stage__hint{visibility:hidden}.play-overlay{z-index:100;width:100%;height:100vh;background:var(--sumi);overscroll-behavior:contain;flex-direction:column;height:100dvh;display:flex;position:fixed;inset:0}.play-overlay[hidden]{display:none}html[data-overlay=open],html[data-overlay=open] body{overflow:hidden}.play-overlay__bar{height:calc(var(--overlay-bar) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(8px, env(safe-area-inset-right)) 0 max(8px, env(safe-area-inset-left));background:linear-gradient(to bottom, var(--lacquer), var(--sumi));box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--gold) 35%, transparent);flex:none;align-items:center;display:flex}.play-overlay__close{min-height:40px;color:var(--washi);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:4px 14px 4px 8px;font-size:14px;font-weight:700;display:inline-flex}.play-overlay__close:hover{background:var(--lacquer-raised)}.play-overlay__close-icon{fill:none;stroke:var(--gold-bright);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.play-overlay__slot{flex:auto;min-height:0;position:relative}.play-overlay__slot>.game-host:focus-visible{box-shadow:none;outline:none}.play-overlay__slot>.game-host{padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}@media (orientation:landscape) and (max-height:560px){.play-overlay{flex-direction:row}.play-overlay__bar{width:calc(var(--overlay-bar) + env(safe-area-inset-left));height:auto;padding:max(8px, env(safe-area-inset-top)) 0 0 env(safe-area-inset-left);box-shadow:inset -1px 0 0 color-mix(in srgb, var(--gold) 35%, transparent);flex-direction:column;justify-content:flex-start}.play-overlay__close{padding:8px}.play-overlay__close span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.play-overlay__slot>.game-host{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) 0}}.paper{color:var(--ink-on-paper);background-color:var(--washi);background-image:radial-gradient(ellipse 120% 80% at 50% 0%, color-mix(in srgb, var(--light-core) 55%, transparent), transparent 60%), radial-gradient(ellipse 100% 60% at 50% 100%, color-mix(in srgb, var(--washi-shade) 45%, transparent), transparent 70%), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.6' numOctaves='3' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.35 0 0 0 0 0.27 0 0 0 0 0.17 0 0 0 0.9 -0.5'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23f)'/%3E%3C/svg%3E");position:relative}.lacquer{background:radial-gradient(ellipse 80% 50% at 50% 0%, color-mix(in srgb, var(--lacquer-lit) 70%, transparent), transparent 70%), linear-gradient(to bottom, var(--lacquer), var(--sumi));position:relative}.howto,.features,.cast,.concept,.support{padding:88px 0 96px}.section-head{text-align:center;max-width:44em;margin:0 auto 48px}.eyebrow{letter-spacing:.3em;color:var(--gold-deep);align-items:center;gap:12px;font-size:13px;font-weight:700;display:inline-flex}.lacquer .eyebrow,.cast .eyebrow{color:var(--gold)}.eyebrow:before,.eyebrow:after{content:"";background:currentColor;width:28px;height:1px}.section-title{font-family:var(--font-display);letter-spacing:.04em;margin-top:10px;font-size:clamp(30px,6.4vw,52px);font-weight:800;line-height:1.25}.lacquer .section-title,.cast .section-title{background:var(--gold-foil);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text}.section-lead{margin-top:16px;font-size:16px;line-height:1.9}.paper .section-lead{color:var(--ink-on-paper-soft)}.lacquer .section-lead{color:var(--washi-shade)}.steps{gap:56px;display:grid}.step{align-items:center;gap:22px;display:grid}.step__shot{background:var(--sumi);box-shadow:0 0 0 1px color-mix(in srgb, var(--gold-deep) 80%, transparent), 0 0 0 5px var(--lacquer), 0 0 0 6px color-mix(in srgb, var(--gold) 70%, transparent), var(--shadow-deep);border-radius:10px;position:relative;overflow:hidden}.step__shot img{aspect-ratio:16/9;object-fit:cover;width:100%}.step__body{padding-top:6px;position:relative}.seal{background:var(--vermilion);width:56px;height:56px;color:var(--washi);font-family:var(--font-display);--tilt:-6deg;transform:rotate(var(--tilt));box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--washi) 85%, transparent), inset 0 0 0 5px var(--vermilion), 0 6px 14px -6px color-mix(in srgb, var(--vermilion-deep) 90%, transparent);border-radius:10px;place-items:center;margin-bottom:12px;font-size:32px;font-weight:800;line-height:1;display:inline-grid}.step__title{font-family:var(--font-display);letter-spacing:.03em;color:var(--ink-on-paper);font-size:clamp(22px,4.6vw,30px);font-weight:800;line-height:1.35}.step__text{color:var(--ink-on-paper-soft);margin-top:12px;font-size:16px;line-height:1.95}@media (min-width:896px){.steps{gap:88px}.step{grid-template-columns:7fr 5fr;gap:56px}.step:nth-child(2n){grid-template-columns:5fr 7fr}.step:nth-child(2n) .step__shot{order:2}}.feature-grid{gap:24px;display:grid}@media (min-width:720px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.feature{background:linear-gradient(160deg, var(--lacquer-raised), var(--lacquer));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--gold) 55%, transparent), var(--shadow-deep);border-radius:14px;flex-direction:column;display:flex;position:relative;overflow:hidden}.feature__shot{aspect-ratio:16/9;object-fit:cover;width:100%}.feature__body{padding:22px 24px 26px;position:relative}.feature__title{font-family:var(--font-display);color:var(--gold-bright);font-size:24px;font-weight:800;line-height:1.35}.feature__text{color:var(--washi-shade);margin-top:10px;font-size:15px;line-height:1.85}.feature--motif{justify-content:flex-end;min-height:260px}.feature__motif{font-family:var(--font-brush);color:color-mix(in srgb, var(--gold) 14%, transparent);pointer-events:none;font-size:clamp(88px,16vw,150px);line-height:1;position:absolute;inset:8px 12px auto auto}.feature__stamp{display:none}.feature[data-coming-soon]{background:linear-gradient(160deg, var(--lacquer), var(--sumi));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--washi-shade) 22%, transparent), var(--shadow-deep)}.feature[data-coming-soon] .feature__title{color:var(--washi)}.feature[data-coming-soon] .feature__stamp{border:3px solid var(--vermilion);outline:1.5px solid color-mix(in srgb, var(--vermilion) 75%, transparent);outline-offset:3px;min-width:72px;height:72px;color:var(--vermilion);font-family:var(--font-display);letter-spacing:.1em;--tilt:-14deg;transform:rotate(var(--tilt));border-radius:50%;place-items:center;padding:0 10px;font-size:20px;font-weight:800;display:inline-grid;position:absolute;top:-8px;right:22px}.feature--motif[data-coming-soon] .feature__stamp{top:-96px}.cast{background:radial-gradient(ellipse 60% 40% at 20% 20%, color-mix(in srgb, var(--chapter-ember) 16%, transparent), transparent 70%), radial-gradient(ellipse 60% 40% at 80% 70%, color-mix(in srgb, var(--faction-chess-indigo) 30%, transparent), transparent 70%), var(--sumi)}[data-cast=kai]{--accent:var(--chapter-ember)}[data-cast=yui]{--accent:var(--chapter-moonlight)}[data-cast=gou]{--accent:var(--faction-player)}[data-cast=fuu]{--accent:var(--gold-bright)}[data-cast=shirogane]{--accent:var(--faction-chess-silver)}[data-cast=kikakubou]{--accent:var(--faction-enemy)}[data-cast=eleonora]{--accent:var(--faction-chess-indigo)}[data-cast=zenon]{--accent:var(--vermilion)}.cast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (min-width:896px){.cast-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}}.cast-card{isolation:isolate;flex-direction:column;display:flex;position:relative}.cast-card:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 55%, transparent), transparent);filter:blur(8px);border-radius:50%;position:absolute;inset:4% 4% 30%}.cast-card__portrait{aspect-ratio:765/1024;object-fit:contain;width:100%;filter:drop-shadow(0 18px 24px color-mix(in srgb, var(--sumi) 90%, transparent));transition:transform .32s cubic-bezier(.2,.9,.3,1.2)}.cast-card:hover .cast-card__portrait{transform:translateY(-6px)scale(1.02)}.cast-card__plate{background:color-mix(in srgb, var(--lacquer) 92%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 70%, transparent), 0 18px 30px -18px color-mix(in srgb, var(--sumi) 95%, transparent);text-align:center;border-radius:12px;margin-top:-44px;padding:14px 14px 16px;position:relative}.cast-card__name{font-family:var(--font-display);color:var(--washi);font-size:clamp(17px,2.2vw,24px);font-weight:800;line-height:1.3}.cast-card__title{letter-spacing:.08em;color:var(--accent);margin-top:2px;font-size:12px;font-weight:700}.cast-card__line{font-family:var(--font-brush);color:var(--washi);margin-top:10px;font-size:clamp(15px,1.7vw,19px);line-height:1.5}.cast-card__line:before{content:"「"}.cast-card__line:after{content:"」"}:lang(en) .cast-card__line:before,:lang(es) .cast-card__line:before,:lang(pt) .cast-card__line:before,:lang(ko) .cast-card__line:before,:lang(zh-Hans) .cast-card__line:before{content:"“"}:lang(en) .cast-card__line:after,:lang(es) .cast-card__line:after,:lang(pt) .cast-card__line:after,:lang(ko) .cast-card__line:after,:lang(zh-Hans) .cast-card__line:after{content:"”"}:lang(fr) .cast-card__line:before,:lang(uk) .cast-card__line:before,:lang(fa) .cast-card__line:before{content:"«"}:lang(fr) .cast-card__line:after,:lang(uk) .cast-card__line:after,:lang(fa) .cast-card__line:after{content:"»"}.cast-rivals-title{font-family:var(--font-display);letter-spacing:.08em;text-align:center;color:var(--washi);margin:64px 0 24px;font-size:clamp(22px,4vw,30px);font-weight:800}.cast-grid--rivals .cast-card__portrait{filter:drop-shadow(0 18px 24px color-mix(in srgb, var(--sumi) 90%, transparent)) saturate(.92)}.concept__inner{align-items:center;gap:32px;display:grid}.concept__calligraphy{opacity:.92;width:min(560px,100%);margin-inline:auto}.concept__text{max-width:36em;margin-inline:auto}.concept__text>p:not(.eyebrow,.concept__tagline){color:var(--ink-on-paper-soft);margin-top:18px;font-size:16px;line-height:2}.concept .section-title{color:var(--ink-on-paper);margin-bottom:8px}.concept__text>p.concept__climax{color:var(--ink-on-paper);font-weight:700}.concept__text>.concept__tagline{font-family:var(--font-brush);letter-spacing:.1em;color:var(--ink-on-paper);margin-top:32px;font-size:clamp(26px,5.4vw,40px);line-height:1.4}@media (min-width:896px){.concept__inner{grid-template-columns:5fr 6fr;gap:64px}}.support__inner{text-align:center;justify-items:center;gap:28px;display:grid}.support__copy{max-width:40em}.support__actions{justify-items:center;gap:14px;display:grid}.support__button{background:var(--washi);border:0;border-radius:6px}.support__link{color:var(--gold-bright);text-underline-offset:5px;font-size:14px;font-weight:700}.site-footer{padding:56px 0 calc(40px + env(safe-area-inset-bottom));background:var(--sumi);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--gold-deep) 60%, transparent);color:var(--washi-shade);font-size:13px}.site-footer__inner{gap:36px;display:grid}.brand--footer{font-size:26px}.site-footer__tagline{font-family:var(--font-brush);color:var(--washi);margin-top:8px;font-size:18px}.site-footer__previous{color:var(--gold);text-underline-offset:4px;margin-top:12px;display:inline-block}.credits__title{font-family:var(--font-display);color:var(--washi);font-size:18px}.credits__list{gap:18px;margin-top:14px;display:grid}.credits__group dt{color:var(--gold);font-weight:700}.credits__group dd{margin-top:4px;line-height:1.7}.credits__licence{white-space:nowrap;color:var(--gold-bright);text-underline-offset:3px;margin-inline-start:8px}.credits__note{color:color-mix(in srgb, var(--washi-shade) 85%, var(--sumi))}.site-footer__copyright{font-size:12px}@media (min-width:896px){.site-footer__inner{grid-template-columns:1fr 2fr}.credits__list{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__copyright{grid-column:1/-1}}.noscript{z-index:200;padding:20px var(--gutter);background:var(--lacquer);box-shadow:inset 0 2px 0 var(--gold);text-align:center;font-size:15px;position:fixed;inset:auto 0 0}:is(:lang(en),:lang(es),:lang(fr),:lang(pt),:lang(uk)) :is(.hero__kicker,.play-cta,.stage-section__title){letter-spacing:.06em}:is(:lang(en),:lang(es),:lang(fr),:lang(pt),:lang(uk)) :is(.hero__tagline,.concept__tagline,.site-footer__tagline){letter-spacing:.02em}:is(:lang(en),:lang(es),:lang(fr),:lang(pt),:lang(uk)) .eyebrow{letter-spacing:.2em}html:lang(fa) body *{letter-spacing:0}html[dir=rtl] .hero{direction:ltr}html[dir=rtl] .hero__kicker,html[dir=rtl] .hero__tagline,html[dir=rtl] .hero__lead,html[dir=rtl] .hero__note,html[dir=rtl] .hero__howto,html[dir=rtl] .play-cta{direction:rtl}@media (min-width:896px){html[dir=rtl] .hero__kicker,html[dir=rtl] .hero__tagline{text-align:left}html[dir=rtl] .hero__lead,html[dir=rtl] .hero__note,html[dir=rtl] .hero__howto{text-align:right}}@keyframes breathe{0%{opacity:.55}to{opacity:1}}@keyframes foil-sweep{0%{background-position:100% 0}to{background-position:0 0}}@keyframes glint{0%,72%{left:-60%}to{left:130%}}@keyframes fleck-drift{0%{opacity:0;transform:translate(0)rotate(0)}15%{opacity:.9}to{opacity:0;transform:translate(var(--drift), -220px) rotate(260deg)}}@keyframes hero-settle{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes rise-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes stamp-in{0%{opacity:0;transform:scale(1.9)rotate(-26deg)}60%{opacity:1;transform:scale(.94)rotate(-4deg)}to{transform:scale(1) rotate(var(--tilt))}}@media (prefers-reduced-motion:no-preference){.hero__image{animation:2.4s cubic-bezier(.2,.7,.2,1) both hero-settle}.logotype{animation:1.6s cubic-bezier(.3,.6,.2,1) .2s both foil-sweep}.hero__title-block,.hero__action-block{animation:.9s cubic-bezier(.2,.8,.2,1) .15s both rise-in}.hero__action-block{animation-delay:.4s}.play-cta:before{animation:3.6s ease-in-out 1.2s infinite glint}.hero__flecks span{animation:7s linear infinite fleck-drift}html[data-reveal=on] [data-reveal]{opacity:0;transition:opacity .7s ease-out,transform .7s cubic-bezier(.2,.8,.2,1);transform:translateY(26px)}html[data-reveal=on] [data-reveal][data-revealed=true]{opacity:1;transform:none}html[data-reveal=on] [data-reveal][data-revealed=true] .seal{animation:.52s cubic-bezier(.3,1.4,.4,1) .26s both stamp-in}html[data-reveal=on] .feature[data-coming-soon][data-revealed=true] .feature__stamp{animation:.52s cubic-bezier(.3,1.4,.4,1) .38s both stamp-in}}
