:root{--bg: #04061a;--bg-2: #0a0f33;--ink: #e8f2ff;--ink-dim: #9fb0dd;--cyan: #7df9ff;--blue: #5b8cff;--violet: #b48cff;--gold: #ffd666;--red: #ff4d6d;--panel: rgba(14, 20, 62, .55);--line: rgba(125, 249, 255, .35);--f-display: "Cinzel", serif;--f-ui: "Rajdhani", system-ui, sans-serif;--f-jp: "Noto Serif JP", serif;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:radial-gradient(1200px 800px at 70% -10%,rgba(91,140,255,.18),transparent 60%),radial-gradient(900px 700px at 0% 40%,rgba(180,140,255,.12),transparent 60%),linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 50%,var(--bg) 100%);background-attachment:fixed;color:var(--ink);font-family:var(--f-ui);font-size:18px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}::selection{background:rgba(125,249,255,.35)}.mana-field{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.cursor-glow{position:fixed;left:0;top:0;z-index:1;pointer-events:none;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:radial-gradient(circle,rgba(125,249,255,.12),rgba(180,140,255,.06) 35%,transparent 65%);mix-blend-mode:screen}@media (pointer: coarse){.cursor-glow{display:none}}main,.footer{position:relative;z-index:2}.sigil{position:fixed;top:22px;left:26px;z-index:50;display:flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:900;letter-spacing:.2em}.sigil-mark{color:var(--cyan);text-shadow:0 0 12px var(--cyan);animation:spin 8s linear infinite;display:inline-block}.sigil-text{font-size:15px;opacity:.85}.quest-btn{position:fixed;top:18px;right:22px;z-index:50;display:flex;align-items:center;gap:10px;padding:11px 20px 11px 16px;border-radius:999px;font-family:var(--f-display);font-weight:700;font-size:14px;letter-spacing:.14em;text-transform:uppercase;background:linear-gradient(135deg,rgba(20,30,90,.85),rgba(60,30,110,.85));border:1px solid rgba(125,249,255,.55);box-shadow:0 0 0 1px #ffffff0a inset,0 0 22px #7df9ff59;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden;isolation:isolate;transition:transform .25s,box-shadow .25s;animation:btn-in .9s 1.6s both cubic-bezier(.2,.9,.3,1.3)}.quest-btn:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 0 36px #7df9ff99,0 0 80px #b48cff59}.quest-btn-icon{font-size:18px;filter:drop-shadow(0 0 6px var(--cyan));transition:transform .4s}.quest-btn:hover .quest-btn-icon{transform:rotate(-25deg) scale(1.15)}.quest-btn-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);background-size:250% 100%;animation:sheen 3.2s ease-in-out infinite}@keyframes btn-in{0%{opacity:0;transform:translateY(-20px) scale(.8)}}@keyframes sheen{0%{background-position:150% 0}60%,to{background-position:-50% 0}}.hero{--mx: 0;--my: 0;position:relative;height:100vh;height:100svh;min-height:600px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;padding:90px clamp(20px,6vw,96px) 110px;overflow:hidden}.aurora{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:0;filter:blur(70px);opacity:.75;pointer-events:none}.aurora span{position:absolute;border-radius:50%;mix-blend-mode:screen}.aurora-a{width:55vw;height:40vw;left:40%;top:10%;background:radial-gradient(circle,rgba(91,140,255,.55),transparent 65%);animation:drift-a 18s ease-in-out infinite alternate}.aurora-b{width:45vw;height:45vw;left:5%;top:35%;background:radial-gradient(circle,rgba(180,140,255,.45),transparent 65%);animation:drift-b 22s ease-in-out infinite alternate}.aurora-c{width:35vw;height:30vw;left:60%;top:55%;background:radial-gradient(circle,rgba(125,249,255,.35),transparent 65%);animation:drift-a 15s -6s ease-in-out infinite alternate-reverse}@keyframes drift-a{to{transform:translate(-12vw,8vh) scale(1.2)}}@keyframes drift-b{to{transform:translate(10vw,-10vh) scale(.85)}}.hero-grid{position:absolute;inset:auto 0 0 0;height:46%;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(125,249,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(125,249,255,.16) 1px,transparent 1px);background-size:60px 60px;transform:perspective(500px) rotateX(62deg);transform-origin:bottom;mask-image:linear-gradient(to top,black 10%,transparent 85%);-webkit-mask-image:linear-gradient(to top,black 10%,transparent 85%);animation:grid-run 4s linear infinite}@keyframes grid-run{to{background-position:0 60px}}.kanji{position:absolute;left:clamp(-10px,1vw,20px);top:50%;z-index:0;writing-mode:vertical-rl;transform:translateY(-50%) translate(calc(var(--mx) * 18px),calc(var(--my) * 18px));font-family:var(--f-jp);font-weight:900;font-size:clamp(120px,22vw,300px);line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(125,249,255,.18);pointer-events:none;-webkit-user-select:none;user-select:none;animation:fade-in 2s .3s both}.layer-deep{transform:translate(calc(var(--mx) * -36px),calc(var(--my) * -36px));transition:transform .4s ease-out}.layer-mid{transform:translate(calc(var(--mx) * 22px),calc(var(--my) * 22px));transition:transform .4s ease-out}.layer-front{transform:translate(calc(var(--mx) * 8px),calc(var(--my) * 8px));transition:transform .4s ease-out}.hero-circle{grid-column:2;grid-row:1;justify-self:center;z-index:1;width:min(44vw,64vh,640px);aspect-ratio:1}.magic-circle{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 6px rgba(125,249,255,.8)) drop-shadow(0 0 30px rgba(91,140,255,.5));animation:summon 2.2s .2s both cubic-bezier(.2,.8,.2,1)}@keyframes summon{0%{opacity:0;transform:scale(.3) rotate(-120deg);filter:blur(10px)}60%{opacity:1}to{opacity:1;transform:scale(1) rotate(0)}}.mc-ring{transform-origin:0 0;transform-box:view-box}.mc-spin-slow{animation:spin 80s linear infinite}.mc-spin-rev{animation:spin 55s linear infinite reverse}.mc-spin-mid{animation:spin 40s linear infinite}.mc-spin-fast{animation:spin 18s linear infinite reverse}.mc-line{fill:none;stroke:var(--cyan);stroke-width:1.6;opacity:.85}.mc-line.thin{stroke-width:.8;opacity:.55}.mc-line.dashed{stroke-dasharray:4 8;stroke-width:2}.mc-line.node{stroke:var(--violet);fill:#0a0e3299}.mc-runes{fill:var(--cyan);font-size:20px;letter-spacing:2px;opacity:.85;font-family:"Segoe UI Symbol","Noto Sans Runic",var(--f-display)}.mc-runes.small{font-size:13px;font-family:var(--f-display);font-weight:700;letter-spacing:3px;fill:var(--gold);opacity:.75}@keyframes spin{to{transform:rotate(360deg)}}.hero-mascot{grid-column:2;grid-row:1;justify-self:center;z-index:3;width:min(15vw,23vh,210px)}.mascot{position:relative;animation:fade-up 1.2s 1.2s both}.mascot-body{animation:bounce 2.4s ease-in-out infinite;transform-origin:50% 100%}.mascot-body svg{width:100%;display:block;filter:drop-shadow(0 0 24px rgba(125,249,255,.55))}.mascot-shadow{width:70%;height:14px;margin:4px auto 0;border-radius:50%;background:rgba(0,0,0,.45);filter:blur(4px);animation:shadow 2.4s ease-in-out infinite}.mascot-eyes{animation:blink 5s infinite;transform-origin:100px 122px;transform-box:view-box}.mascot-tassel{animation:tassel 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 0}.mascot-bubble{position:absolute;right:-40%;top:-6%;white-space:nowrap;padding:6px 12px;border-radius:12px 12px 12px 2px;background:rgba(10,16,60,.85);border:1px solid var(--line);font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--cyan);animation:bubble 7s 3s infinite both}@keyframes bounce{0%,to{transform:translateY(0) scale(1.06,.94)}45%{transform:translateY(-34px) scale(.96,1.05)}55%{transform:translateY(-34px) scale(.97,1.04)}}@keyframes shadow{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(.65);opacity:.4}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes tassel{0%,to{transform:rotate(-10deg)}50%{transform:rotate(14deg)}}@keyframes bubble{0%,to{opacity:0;transform:translateY(6px) scale(.9)}8%,40%{opacity:1;transform:none}48%{opacity:0}}.hero-content{grid-column:1;grid-row:1;z-index:4;max-width:740px}.notice{display:inline-flex;align-items:center;min-height:1.6em;font-size:clamp(14px,1.3vw,17px);font-weight:600;letter-spacing:.08em;color:var(--cyan);text-shadow:0 0 12px rgba(125,249,255,.6);margin-bottom:18px}.caret{width:9px;height:1.1em;margin-left:4px;background:var(--cyan);animation:caret 1s steps(1) infinite;box-shadow:0 0 10px var(--cyan)}@keyframes caret{50%{opacity:0}}.headline{display:flex;flex-direction:column;line-height:.92;margin-bottom:26px}.headline-small{font-family:var(--f-display);font-weight:700;font-size:clamp(16px,1.8vw,24px);letter-spacing:.5em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:14px;animation:fade-up .9s .5s both}.headline-big{position:relative;font-family:var(--f-display);font-weight:900;font-size:max(40px,min(7.2vw,12.5vh,120px));letter-spacing:.02em;white-space:nowrap;background:linear-gradient(100deg,#ffffff 0%,#bfefff 25%,var(--cyan) 40%,#ffffff 50%,var(--violet) 70%,#ffffff 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(125,249,255,.35));animation:rise 1.1s .75s both cubic-bezier(.2,.9,.25,1),shimmer 7s 2s linear infinite}.headline-big.alt{animation-delay:.95s,2.4s;padding-left:.3em}.headline-big:after{content:attr(data-text);position:absolute;left:0;top:0;padding-left:inherit;color:transparent;-webkit-text-stroke:1px rgba(255,77,109,.55);clip-path:inset(0 0 100% 0);animation:glitch 6s 3s steps(1) infinite}@keyframes rise{0%{opacity:0;transform:translateY(60px) skewY(6deg);filter:blur(12px)}}@keyframes shimmer{to{background-position:-250% 0}}@keyframes glitch{0%,90%,to{clip-path:inset(0 0 100% 0);transform:none}91%{clip-path:inset(20% 0 55% 0);transform:translate(-6px)}93%{clip-path:inset(60% 0 10% 0);transform:translate(5px)}95%{clip-path:inset(35% 0 40% 0);transform:translate(-3px)}}.tagline{max-width:520px;font-size:clamp(16px,1.4vw,20px);color:var(--ink-dim);font-weight:500;animation:fade-up 1s 1.25s both}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px;animation:fade-up 1s 1.45s both}.btn{position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-family:var(--f-display);font-weight:700;font-size:14px;letter-spacing:.18em;text-transform:uppercase;clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);transition:transform .25s,filter .25s}.btn:hover{transform:translateY(-3px);filter:brightness(1.2)}.btn-primary{background:linear-gradient(120deg,var(--cyan),var(--blue) 60%,var(--violet));color:#050820;box-shadow:0 0 30px #7df9ff80}.btn-primary i{font-style:normal;transition:transform .25s}.btn-primary:hover i{transform:translate(4px)}.btn-ghost{background:rgba(125,249,255,.08);border:0;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.scroll-hint{position:absolute;left:50%;bottom:calc(1.6vw + 80px);transform:translate(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);animation:fade-in 1s 2.2s both}.scroll-hint i{width:1px;height:40px;background:linear-gradient(var(--cyan),transparent);position:relative;overflow:hidden}.scroll-hint i:after{content:"";position:absolute;left:-2px;width:5px;height:10px;border-radius:3px;background:var(--cyan);box-shadow:0 0 8px var(--cyan);animation:drop 1.8s ease-in infinite}@keyframes drop{0%{top:-10px}to{top:40px}}.ticker{position:absolute;left:-5%;right:-5%;bottom:calc(1.6vw + 6px);z-index:5;padding:12px 0;transform:rotate(-1.5deg);background:linear-gradient(90deg,rgba(91,140,255,.2),rgba(180,140,255,.25),rgba(125,249,255,.2));border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden}.ticker-track{display:flex;width:max-content;animation:marquee 40s linear infinite}.ticker-track span{display:inline-flex;align-items:center;gap:28px;padding-right:28px;font-family:var(--f-display);font-weight:700;letter-spacing:.24em;text-transform:uppercase;font-size:14px;white-space:nowrap}.ticker-track b{color:var(--gold);font-weight:400}@keyframes marquee{to{transform:translate(-33.333%)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}}.section{position:relative;padding:130px clamp(20px,6vw,96px) 40px;max-width:1200px;margin:0 auto}.section-head{text-align:center;margin-bottom:54px}.section-kicker{display:block;color:var(--cyan);font-weight:600;letter-spacing:.3em;font-size:14px;margin-bottom:8px}.section-head h2{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,6vw,72px);letter-spacing:.12em;text-transform:uppercase;line-height:1;background:linear-gradient(180deg,#fff,#9fc3ff);-webkit-background-clip:text;background-clip:text;color:transparent}.section .section-head,.section .panel,.section .skill-card,.section .timeline li{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d, 0ms)}.section.in .section-head,.section.in .panel,.section.in .skill-card,.section.in .timeline li{opacity:1;transform:none}.panel{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:6px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px #ffffff08 inset,0 20px 60px #0006,0 0 40px #5b8cff1f}.corner{position:absolute;width:18px;height:18px;border:2px solid var(--cyan);filter:drop-shadow(0 0 6px var(--cyan))}.corner.tl{top:-2px;left:-2px;border-right:0;border-bottom:0}.corner.tr{top:-2px;right:-2px;border-left:0;border-bottom:0}.corner.bl{bottom:-2px;left:-2px;border-right:0;border-top:0}.corner.br{bottom:-2px;right:-2px;border-left:0;border-top:0}.status-panel{padding:clamp(24px,4vw,48px);overflow:hidden}.scanline{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(125,249,255,.08) 50%,transparent);height:30%;animation:scan 5s linear infinite}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(400%)}}.status-top{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;margin-bottom:36px}.status-info div{display:grid;grid-template-columns:120px 1fr;padding:10px 0;border-bottom:1px dashed rgba(125,249,255,.18)}.status-info dt{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.2em;font-size:14px;font-weight:600}.status-info dd{font-weight:600;font-size:19px}.status-info em{color:var(--ink-dim);font-size:14px}.redacted{display:inline-block;color:transparent;background:repeating-linear-gradient(90deg,var(--cyan) 0 10px,transparent 10px 13px);-webkit-background-clip:text;background-clip:text;letter-spacing:2px;animation:redact 2.4s steps(4) infinite}@keyframes redact{50%{filter:hue-rotate(80deg) brightness(1.5)}}.status-name{color:var(--cyan);text-shadow:0 0 12px rgba(125,249,255,.6);letter-spacing:.04em}.glow-text{color:var(--gold);text-shadow:0 0 12px rgba(255,214,102,.7)}.status-level{text-align:center}.lv-ring{position:relative;width:170px;height:170px;margin:0 auto}.lv-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.lv-track{fill:none;stroke:#7df9ff1f;stroke-width:8}.lv-fill{fill:none;stroke:var(--cyan);stroke-width:8;stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:327;filter:drop-shadow(0 0 8px var(--cyan));transition:stroke-dashoffset 2s .3s cubic-bezier(.2,.8,.2,1)}.status.in .lv-fill{stroke-dashoffset:90}.lv-num{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.lv-num small{letter-spacing:.3em;color:var(--ink-dim);font-weight:700}.lv-num strong{font-family:var(--f-display);font-size:58px;font-weight:900}.lv-exp{margin-top:10px;font-size:14px;color:var(--ink-dim)}.lv-exp b{color:var(--gold)}.stats{display:grid;gap:16px}.stat{display:grid;grid-template-columns:160px 1fr 44px;align-items:center;gap:16px}.stat-k{text-transform:uppercase;letter-spacing:.16em;font-size:15px;font-weight:700}.stat-v{font-family:var(--f-display);font-weight:700;text-align:right}.stat-bar{position:relative;height:10px;background:rgba(255,255,255,.06);border-radius:10px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f}.stat-bar i{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;transition:width 1.6s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--d) + .3s)}.stat-bar i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:bar-shine 2.5s infinite}.status.in .stat-bar i{width:var(--v)}.stat-bar.cyan i{background:linear-gradient(90deg,#2bc0ff,var(--cyan));box-shadow:0 0 14px var(--cyan)}.stat-bar.violet i{background:linear-gradient(90deg,#7a5cff,var(--violet));box-shadow:0 0 14px var(--violet)}.stat-bar.blue i{background:linear-gradient(90deg,#3a5cff,var(--blue));box-shadow:0 0 14px var(--blue)}.stat-bar.gold i{background:linear-gradient(90deg,#ff9f43,var(--gold));box-shadow:0 0 14px var(--gold)}.stat-bar.red i{background:linear-gradient(90deg,#c2185b,var(--red));box-shadow:0 0 14px var(--red)}@keyframes bar-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.system-note{margin-top:32px;text-align:center;color:var(--cyan);font-weight:600;letter-spacing:.06em;font-size:15px;opacity:.85}.skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;perspective:1000px}.skill-card{--rx: 0deg;--ry: 0deg;--gx: 50%;--gy: 50%;--tone: var(--cyan)}.skill-card.gold{--tone: var(--gold)}.skill-card.violet{--tone: var(--violet)}.skill-inner{position:relative;height:100%;padding:30px 28px 26px;border-radius:10px;background:var(--panel);border:1px solid color-mix(in srgb,var(--tone) 40%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .15s ease-out,box-shadow .3s,border-color .3s;overflow:hidden}.skill-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(400px circle at var(--gx) var(--gy),color-mix(in srgb,var(--tone) 22%,transparent),transparent 45%)}.skill-card:hover .skill-inner{box-shadow:0 0 40px color-mix(in srgb,var(--tone) 35%,transparent);border-color:var(--tone)}.skill-card:hover .skill-inner:before{opacity:1}.skill-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:18px;font-size:30px;color:var(--tone);border:1px solid var(--tone);border-radius:50%;box-shadow:0 0 18px color-mix(in srgb,var(--tone) 50%,transparent),inset 0 0 14px color-mix(in srgb,var(--tone) 30%,transparent);transform:translateZ(40px);transition:transform .6s}.skill-card:hover .skill-icon{transform:translateZ(40px) rotate(360deg)}.skill-rank{display:block;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--tone);font-weight:700}.skill-inner h3{font-family:var(--f-display);font-size:23px;margin:4px 0 10px;transform:translateZ(24px)}.skill-inner p{color:var(--ink-dim);font-size:16.5px}.skill-acquired{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#6dffb0;opacity:.8}.timeline{list-style:none;position:relative;max-width:820px;margin:0 auto;padding-left:44px}.timeline:before{content:"";position:absolute;left:13px;top:0;bottom:0;width:2px;background:linear-gradient(var(--cyan),var(--violet),transparent);box-shadow:0 0 10px var(--cyan)}.timeline li{position:relative;margin-bottom:26px}.tl-node{position:absolute;left:-40px;top:26px;width:20px;height:20px;border-radius:50%;background:var(--bg);border:2px solid var(--cyan);box-shadow:0 0 14px var(--cyan)}.tl-node:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:var(--cyan);animation:pulse 2s infinite}@keyframes pulse{50%{transform:scale(.5);opacity:.4}}.tl-card{padding:22px 26px}.tl-chapter{font-size:13px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-weight:700}.tl-card h3{font-family:var(--f-display);font-size:24px;margin:2px 0 6px}.tl-card p{color:var(--ink-dim)}.timeline li.future .tl-card{border-style:dashed;background:rgba(14,20,62,.3)}.timeline li.future .tl-node{border-color:var(--violet);box-shadow:0 0 14px var(--violet)}.timeline li.future .tl-node:after{background:var(--violet)}.footer{padding:90px 20px 50px;text-align:center}.footer-line{width:min(600px,80%);height:1px;margin:0 auto 30px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 12px var(--cyan)}.footer-notice{color:var(--cyan);font-weight:600;letter-spacing:.06em}.footer-copy{margin-top:8px;color:var(--ink-dim);font-size:14px;letter-spacing:.2em;text-transform:uppercase}.game-loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:rgba(4,6,26,.8);color:var(--cyan);letter-spacing:.2em}.game-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:16px;animation:fade-in .3s both}.game-modal.closing{animation:fade-out .28s both}@keyframes fade-out{to{opacity:0}}.game-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,rgba(30,20,90,.75),rgba(2,3,15,.92));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-frame{position:relative;width:min(1100px,100%,calc((100vh - 140px) * 16 / 9));padding:12px;border-radius:14px;background:linear-gradient(160deg,rgba(20,28,90,.95),rgba(40,20,80,.95));border:1px solid var(--line);box-shadow:0 0 60px #7df9ff4d,0 30px 80px #0009;animation:frame-in .5s cubic-bezier(.2,.9,.3,1.2) both}@keyframes frame-in{0%{transform:scale(.85) translateY(30px);opacity:0}}.game-bar{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 10px}.game-title{font-family:var(--f-display);font-weight:700;letter-spacing:.1em}.game-title small{color:var(--ink-dim);font-family:var(--f-ui);letter-spacing:.2em;text-transform:uppercase;font-size:12px}.game-tools{display:flex;gap:8px}.game-tools button{padding:5px 12px;border-radius:8px;background:rgba(125,249,255,.08);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:600;transition:background .2s}.game-tools button:hover{background:rgba(125,249,255,.2)}.game-close:hover{background:rgba(255,77,109,.35)!important}.game-stage{position:relative;aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #7df9ff40;background:#050820}.game-stage canvas{display:block;width:100%;height:100%;touch-action:none}.game-help{text-align:center;margin-top:8px;font-size:13px;color:var(--ink-dim);letter-spacing:.1em}.touch-pad{display:none;justify-content:space-between;padding:12px 6px 0;user-select:none;-webkit-user-select:none}.touch-pad button{width:64px;height:64px;border-radius:50%;font-size:24px;background:rgba(125,249,255,.1);box-shadow:inset 0 0 0 1px var(--line);touch-action:none}.touch-pad button:active{background:rgba(125,249,255,.35)}.touch-dirs,.touch-acts{display:flex;gap:14px}.touch-pad .t-slash{box-shadow:inset 0 0 0 1px var(--red)}.touch-pad .t-jump{box-shadow:inset 0 0 0 1px var(--gold)}@media (pointer: coarse){.touch-pad{display:flex}.game-help{display:none}}@media (max-width: 900px){.hero{grid-template-columns:minmax(0,1fr);padding-top:100px;text-align:center;height:auto;min-height:100svh}.hero-circle{grid-column:1;width:min(100vw,560px);opacity:.4}.headline-big{font-size:clamp(40px,13vw,90px)}.hero-mascot{grid-column:1;align-self:start;margin-top:-10px;display:none}.hero-content{grid-column:1;margin:0 auto}.notice{justify-content:center}.headline-big.alt{padding-left:0}.tagline{margin:0 auto}.hero-actions{justify-content:center}.kanji{opacity:.5}.status-top{grid-template-columns:1fr}.stat{grid-template-columns:110px 1fr 36px;gap:10px}.stat-k{font-size:13px}.status-info div{grid-template-columns:90px 1fr}.quest-btn-label{display:none}.quest-btn{padding:11px 14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.game-stage.hide-cursor,.game-stage.hide-cursor canvas{cursor:none}.game-frame.is-fullscreen{width:100vw;height:100vh;max-width:none;border-radius:0;border:0;padding:12px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#10154a,#02030f)}.game-frame.is-fullscreen .game-bar,.game-frame.is-fullscreen .game-stage{width:min(100%,calc((100vh - 90px) * 16 / 9))}.game-frame.is-fullscreen .game-help{display:none}.touch-pad .t-fire{box-shadow:inset 0 0 0 1px #ff8a2a}.game-stage{container-type:inline-size}.gm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow-y:auto;display:flex;flex-direction:column;gap:1.6cqw;padding:2.2cqw 2.6cqw;background:radial-gradient(ellipse at 30% 0%,rgba(60,40,140,.55),rgba(5,8,32,.88) 70%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .35s both;font-size:clamp(11px,1.45cqw,16px)}.gm-head{text-align:center}.gm-kicker{color:var(--cyan);letter-spacing:.24em;font-weight:600;font-size:.85em;text-transform:uppercase}.gm-head h2{font-family:var(--f-display);font-weight:900;font-size:clamp(22px,4.4cqw,50px);line-height:1.05;letter-spacing:.06em;text-shadow:0 0 24px rgba(125,249,255,.6)}.gm-body{flex:1;display:grid;grid-template-columns:minmax(0,1fr) clamp(190px,27cqw,300px);gap:1.8cqw;min-height:0}.gm-tabs{display:flex;gap:6px;margin-bottom:1.2cqw}.gm-tabs button{flex:1;padding:.6em .8em;border-radius:8px;text-align:left;font-family:var(--f-display);font-weight:700;letter-spacing:.08em;font-size:1.05em;background:rgba(125,249,255,.05);box-shadow:inset 0 0 0 1px #7df9ff33;transition:background .2s,box-shadow .2s}.gm-tabs button small{display:block;font-family:var(--f-ui);font-weight:500;letter-spacing:.06em;font-size:.72em;color:var(--ink-dim)}.gm-tabs button:hover{background:rgba(125,249,255,.12)}.gm-tabs button.on{background:rgba(125,249,255,.18);box-shadow:inset 0 0 0 1px var(--cyan),0 0 18px #7df9ff40}.gm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1cqw}.gm-card{--c: var(--cyan);position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.25em;padding:.9em 1em;border-radius:10px;text-align:left;background:linear-gradient(160deg,rgba(20,26,80,.85),rgba(12,14,46,.85));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent);transition:transform .18s,box-shadow .2s}.gm-card:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--c),0 0 18px color-mix(in srgb,var(--c) 30%,transparent)}.gm-card.on{box-shadow:inset 0 0 0 2px var(--c),0 0 24px color-mix(in srgb,var(--c) 45%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--c) 18%,#141a50),rgba(12,14,46,.9))}.gm-icon{font-size:1.9em;line-height:1.1;filter:drop-shadow(0 0 8px var(--c))}.gm-art{height:1.9em;display:flex;align-items:center}.katana-art{display:block;height:auto;max-width:100%}.gm-name{font-family:var(--f-display);font-weight:700;font-size:1.15em;color:#fff}.gm-stat{font-size:.82em;font-weight:700;letter-spacing:.06em;color:var(--c);text-transform:uppercase}.gm-desc{font-size:.88em;line-height:1.35;color:var(--ink-dim)}.gm-badge{position:absolute;top:.7em;right:.7em;padding:.15em .6em;border-radius:999px;font-size:.7em;font-weight:700;letter-spacing:.14em;text-transform:uppercase;background:var(--c);color:#0a0c26}.gm-bars{display:grid;gap:3px;width:100%;margin:.15em 0}.gm-bar{display:grid;grid-template-columns:4.2em 1fr;align-items:center;gap:6px;font-size:.72em;font-weight:700;letter-spacing:.1em;color:var(--ink-dim)}.gm-bar i{height:5px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden}.gm-bar b{display:block;height:100%;border-radius:inherit;box-shadow:0 0 8px currentColor}.gm-loadout{display:flex;flex-direction:column;gap:.6em;padding:1em;border-radius:12px;background:rgba(8,10,36,.75);box-shadow:inset 0 0 0 1px var(--line)}.gm-loadout h3{font-family:var(--f-display);letter-spacing:.2em;text-transform:uppercase;font-size:.95em;color:var(--cyan)}.gm-slot{--c: var(--cyan);display:grid;grid-template-columns:1.8em 2.6em 1fr;align-items:center;gap:.5em;padding:.55em .6em;border-radius:8px;text-align:left;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 40%,transparent);font-weight:600;transition:background .2s}.gm-slot:hover{background:color-mix(in srgb,var(--c) 12%,transparent)}.gm-slot small{display:block;font-size:.72em;letter-spacing:.16em;text-transform:uppercase;color:var(--c)}.gm-slot-key{display:grid;place-items:center;width:1.8em;height:1.8em;border-radius:6px;background:rgba(255,255,255,.08);font-weight:700;font-size:.85em}.gm-slot-icon{font-size:1.5em;text-align:center;filter:drop-shadow(0 0 6px var(--c))}.gm-slot-icon.katana{font-size:1em;display:flex;justify-content:center}.gm-start{margin-top:auto;padding:.8em 1em;border-radius:10px;font-family:var(--f-display);font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:1.1em;color:#070a24;background:linear-gradient(120deg,var(--cyan),var(--blue) 55%,var(--violet));box-shadow:0 0 26px #7df9ff80;animation:gm-pulse 2s ease-in-out infinite}.gm-start:hover{filter:brightness(1.15)}@keyframes gm-pulse{50%{box-shadow:0 0 40px #7df9ffd9}}.gm-best{text-align:center;font-size:.85em;color:var(--ink-dim)}.gm-best b{color:var(--gold)}.gm-controls{text-align:center;font-size:.75em;color:var(--ink-dim);letter-spacing:.04em}.gm-end{position:absolute;left:0;right:0;bottom:7%;z-index:3;display:flex;justify-content:center;gap:12px;animation:fade-up .5s .6s both}.gm-end .gm-start{margin:0;animation:none;padding:.7em 1.6em;font-size:clamp(12px,1.6cqw,17px)}.gm-ghost{padding:.7em 1.4em;border-radius:10px;font-family:var(--f-display);font-weight:700;letter-spacing:.1em;font-size:clamp(12px,1.6cqw,17px);background:rgba(10,14,50,.85);box-shadow:inset 0 0 0 1px var(--line)}.gm-ghost:hover{background:rgba(125,249,255,.15)}@container (max-width: 700px){.gm-body,.gm-grid{grid-template-columns:minmax(0,1fr)}.gm-desc{display:none}.gm-loadout .gm-start{position:sticky;bottom:0}}@media (max-width: 700px){.game-stage:has(.gm){aspect-ratio:auto;height:min(72vh,620px)}.game-title small{display:none}.game-title{font-size:15px}.game-tools button{padding:5px 9px}.fs-label{display:none}}@media (max-width: 480px){.touch-pad{padding:10px 0 0}.touch-pad button{width:54px;height:54px;font-size:20px}.touch-dirs,.touch-acts{gap:8px}.game-frame{min-width:0}}.gm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.gm-head h2{font-size:clamp(20px,3.4cqw,40px)}.gm-wallet{display:flex;gap:8px;animation:wallet-pop .5s}@keyframes wallet-pop{30%{transform:scale(1.12);filter:brightness(1.4)}}.cur{display:inline-flex;align-items:center;gap:6px;padding:.35em .8em;border-radius:999px;font-weight:700;font-size:1.05em;background:rgba(8,10,36,.8)}.cur.gold{color:#ffe9a8;box-shadow:inset 0 0 0 1px #ffd66699,0 0 14px #ffd66633}.cur.gem{color:#c8fbff;box-shadow:inset 0 0 0 1px #7df9ff99,0 0 14px #7df9ff33}.gm-body{grid-template-columns:minmax(0,1fr) clamp(220px,32cqw,340px)}.gm-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(120px,15cqw,170px),1fr));align-content:start}.gm-card{align-items:center;text-align:center;padding:.8em .6em .7em;gap:.3em}.gm-card.sel{box-shadow:inset 0 0 0 2px var(--c),0 0 22px color-mix(in srgb,var(--c) 40%,transparent)}.gm-card.locked{filter:saturate(.25) brightness(.75)}.gm-card.locked:hover,.gm-card.locked.sel{filter:saturate(.6) brightness(.95)}.gm-card.evolved{background:linear-gradient(160deg,color-mix(in srgb,var(--c) 22%,#1c1650),#120e3a)}.gm-card.evolved:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);background-size:250% 100%;animation:sheen 3s infinite}.gm-card-art{height:2.4em;display:flex;align-items:center;justify-content:center}.gm-card .gm-name{font-size:1em;line-height:1.15}.gm-tag{font-size:.68em;letter-spacing:.16em;text-transform:uppercase;color:var(--c);font-weight:700}.gm-lock{font-size:.82em;font-weight:700;color:#c8fbff}.gm-owned{font-size:.75em;letter-spacing:.14em;text-transform:uppercase;color:#6dffb0;font-weight:700}.gm-card .gm-badge{top:-.5em;right:50%;transform:translate(50%)}.gm-pips{display:inline-flex;align-items:center;gap:3px}.gm-pips i{width:.55em;height:.55em;border-radius:2px;transform:rotate(45deg);background:rgba(255,255,255,.15)}.gm-pips i.on{background:var(--c);box-shadow:0 0 6px var(--c)}.gm-pips b{margin-left:3px;color:var(--gold);text-shadow:0 0 8px var(--gold);font-size:.9em}.weapon-art{display:block;max-width:100%}.gm-detail{--c: var(--cyan);display:flex;flex-direction:column;gap:.6em;padding:1em;border-radius:12px;background:linear-gradient(170deg,color-mix(in srgb,var(--c) 10%,rgba(8,10,36,.85)),rgba(8,10,36,.85));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 45%,transparent)}.gm-detail-top{display:flex;align-items:center;gap:.8em}.gm-detail-art{min-width:4.2em;height:3.6em;display:flex;align-items:center;justify-content:center}.gm-big-icon{font-size:2.6em;filter:drop-shadow(0 0 10px var(--c))}.gm-sub{font-size:.72em;letter-spacing:.18em;text-transform:uppercase;color:var(--c);font-weight:700}.gm-detail h3{font-family:var(--f-display);font-size:1.35em;line-height:1.1}.gm-lv{display:inline-flex;align-items:center;gap:6px;font-size:.8em;font-weight:700;color:var(--ink-dim)}.gm-detail .gm-desc{display:block}.gm-ammo{font-size:.8em;color:var(--ink-dim);margin-top:2px}.gm-ammo b{color:#fff}kbd{display:inline-block;padding:0 .4em;border-radius:4px;background:rgba(255,255,255,.12);box-shadow:inset 0 -1px #fff3;font-family:inherit;font-weight:700;color:#fff}.gm-evo{font-size:.8em;line-height:1.35;color:var(--ink-dim);padding:.5em .6em;border-radius:8px;background:rgba(255,214,102,.06);box-shadow:inset 0 0 0 1px #ffd66640}.gm-evo b{color:var(--gold)}.gm-evo.done{background:rgba(255,214,102,.16);box-shadow:inset 0 0 0 1px var(--gold),0 0 16px #ffd66640}.gm-actions{display:grid;gap:6px}.gm-actions button{padding:.6em .8em;border-radius:8px;font-weight:700;letter-spacing:.05em;transition:filter .2s,transform .15s}.gm-actions button:not(:disabled):hover{filter:brightness(1.2);transform:translateY(-1px)}.gm-actions button:disabled{opacity:.45;cursor:not-allowed}.gm-buy{background:linear-gradient(120deg,#2bc0ff,#7df9ff);color:#04142a}.gm-equip{background:rgba(125,249,255,.1);box-shadow:inset 0 0 0 1px var(--c)}.gm-equip.on{background:color-mix(in srgb,var(--c) 25%,transparent)}.gm-equip.on:disabled{opacity:1;cursor:default}.gm-up{background:linear-gradient(120deg,#ffb347,#ffd666);color:#2a1a00}.gm-evolve{background:linear-gradient(120deg,#ffd666,#ff8fd8,#b48cff);background-size:200% 100%;color:#1a0a2a;animation:sheen-bg 2.5s linear infinite}@keyframes sheen-bg{to{background-position:-200% 0}}.gm-toast{font-size:.85em;font-weight:700;text-align:center;animation:fade-up .3s both}.gm-toast.ok{color:#6dffb0}.gm-toast.err{color:#ff8fa3}.gm-loadout-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:.4em;border-top:1px dashed rgba(125,249,255,.2)}.gm-loadout-row span{font-size:.74em;padding:.2em .55em;border-radius:999px;background:rgba(255,255,255,.06);white-space:nowrap}.gm-detail .gm-start{margin-top:.2em}.touch-pad .t-e{box-shadow:inset 0 0 0 1px #c8fbff;font-weight:700}@container (max-width: 700px){.gm-head{flex-direction:column;text-align:center}.gm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gm-detail .gm-start{position:sticky;bottom:0}}@media (max-width: 480px){.touch-pad button{width:46px;height:46px;font-size:18px}.touch-dirs,.touch-acts{gap:6px}}.gm-evo-line{display:block;margin-top:.35em}.gm-evo-line kbd{font-size:.85em;margin-right:2px}.touch-pad .t-r{box-shadow:inset 0 0 0 1px var(--gold);font-weight:700}.gm-head-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.gm-saves{display:flex;gap:6px}.gm-saves button{padding:.3em .75em;border-radius:8px;font-size:.8em;font-weight:700;letter-spacing:.04em;background:rgba(125,249,255,.07);box-shadow:inset 0 0 0 1px #7df9ff59;transition:background .2s}.gm-saves button:hover{background:rgba(125,249,255,.2)}.gm-confirm{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:16px;background:rgba(3,5,22,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .2s both}.gm-confirm-box{width:min(460px,100%);display:grid;gap:.7em;padding:1.3em;border-radius:14px;text-align:center;background:linear-gradient(160deg,#141a50,#0b0e33);box-shadow:inset 0 0 0 1px var(--line),0 20px 60px #00000080;animation:frame-in .3s both}.gm-confirm-box h3{font-family:var(--f-display);font-size:1.4em}.gm-confirm-file{font-size:.8em;color:var(--ink-dim);word-break:break-all}.gm-confirm-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.gm-confirm-stats .cur:not(.gold):not(.gem){box-shadow:inset 0 0 0 1px #fff3;font-size:.9em}.gm-confirm-warn{font-size:.82em;color:#ffb3c0;line-height:1.4}.gm-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gm-confirm-actions button{padding:.65em;border-radius:8px;font-weight:700}@container (max-width: 700px){.gm-head-right{align-items:center}}.gm-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:.3em}.gm-stages button{--c: var(--cyan);display:flex;flex-direction:column;align-items:center;gap:1px;padding:.35em .2em;border-radius:8px;font-size:.72em;line-height:1.15;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 35%,transparent);transition:background .2s}.gm-stages button b{font-family:var(--f-display);font-size:1.3em;color:var(--c)}.gm-stages button span{color:var(--ink-dim);text-align:center}.gm-stages button.on{background:color-mix(in srgb,var(--c) 22%,transparent);box-shadow:inset 0 0 0 2px var(--c),0 0 14px color-mix(in srgb,var(--c) 35%,transparent)}.gm-stages button.on span{color:#fff}.gm-stages button:disabled{opacity:.45;cursor:not-allowed}
