:root{--bg:#0b1113;--bg-alt:#0e1719;--panel:#111b1d;--gold:#c9aa69;--text:#e8e9e4;--muted:#9a9f9b;--line:#293436;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.42;background-image:radial-gradient(1px 1px at 18px 34px,#d8caa6 98%,transparent),radial-gradient(1px 1px at 120px 92px,#a4c3c4 98%,transparent),radial-gradient(1.5px 1.5px at 205px 155px,#c9aa69 98%,transparent),radial-gradient(1px 1px at 276px 21px,#d8e5df 98%,transparent);background-size:311px 211px,397px 283px,463px 347px,541px 419px;animation:stars-drift 70s linear infinite}@keyframes stars-drift{to{background-position:-311px -211px,-397px -283px,-463px -347px,-541px -419px}}a{color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.narrow{max-width:760px}h1,h2,h3{margin:0}h2{color:var(--gold);font:500 .75rem var(--mono);letter-spacing:.18em;text-transform:uppercase;margin-bottom:2rem}h2:before{content:"";display:inline-block;width:1.5rem;border-top:1px solid var(--gold);vertical-align:middle;margin-right:1rem}.section{padding:6rem 0;border-top:1px solid var(--line)}.section.alt{background:var(--bg-alt)}.section p{color:var(--muted);font-size:1rem;margin:0 0 1rem}.section p.emph{color:var(--text);border-left:1px solid var(--gold);padding-left:1rem;margin-top:2rem}.site-header{border-bottom:1px solid #1c2729}.header-inner{min-height:76px;justify-content:space-between;gap:1rem;padding-right:17rem}.brand,.header-inner{display:flex;align-items:center}.brand{gap:.75rem;text-decoration:none;font:.72rem var(--mono);letter-spacing:.14em;text-transform:uppercase}.brand small{display:block;color:var(--muted);font-size:.6rem;letter-spacing:.2em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #655634;color:var(--gold);font-size:1rem}.header-link{color:var(--gold);border:1px solid #51472e;padding:.6rem .8rem;text-decoration:none;font-size:.72rem;white-space:nowrap}.header-link:hover{border-color:var(--gold)}.hero{background:linear-gradient(110deg,var(--bg) 40%,#101c1e)}.hero-inner{min-height:640px;padding-top:6rem;padding-bottom:6rem;display:grid;grid-template-columns:1.1fr .9fr;grid-gap:5rem;gap:5rem;align-items:center}.eyebrow{color:var(--gold);font:.7rem var(--mono);letter-spacing:.18em;text-transform:uppercase;margin:0 0 2rem}.eyebrow:before{content:"";display:inline-block;width:1.5rem;border-top:1px solid var(--gold);vertical-align:middle;margin-right:1rem}.hero h1{max-width:650px;font-size:clamp(2.8rem,5.2vw,4.75rem);font-weight:600;letter-spacing:-.055em;line-height:1.05}.hero-bridge{color:var(--text);font-size:1.12rem;font-weight:500;max-width:560px;margin:1.75rem 0 1rem}.lede{max-width:560px;color:var(--muted);margin:0 0 2rem}.cta-row{display:flex;flex-wrap:wrap;gap:.75rem}.btn,.cta-row{align-items:center}.btn{display:inline-flex;justify-content:center;min-height:44px;padding:.7rem 1rem;border:1px solid var(--line);background:transparent;color:var(--text);text-decoration:none;font-family:inherit;font-size:.77rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.btn-primary{background:var(--gold);border-color:var(--gold);color:#0b1113;font-weight:700}.btn-primary:hover{background:#ddc186;border-color:#ddc186}.btn-close:hover,.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.text-link{color:var(--gold);font-size:.8rem;text-decoration:none}.text-link:hover{text-decoration:underline;text-underline-offset:4px}.hero-meta{margin-top:2.25rem;flex-wrap:wrap;gap:1.5rem}.hero-meta,.status{display:flex;align-items:center}.status{gap:.6rem;color:var(--muted);font:.65rem var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:#8eaa91}.hero-meta .btn{min-height:auto;padding:0;border:0;color:var(--muted);font-size:.78rem}.hero-meta .btn:hover{color:var(--gold)}.hero-panel{min-height:360px;padding:1.5rem;border:1px solid #304043;background:linear-gradient(#ffffff05 1px,transparent 0),linear-gradient(90deg,#ffffff05 1px,transparent 0),#101b1d;background-size:36px 36px;flex-direction:column;overflow:hidden}.hero-panel,.panel-bottom,.panel-top{display:flex;justify-content:space-between}.panel-bottom,.panel-top{gap:1rem;color:#84918b;font:.58rem var(--mono);letter-spacing:.1em}.panel-control{padding:0;border:0;background:none;color:var(--gold);font:inherit;letter-spacing:inherit;text-transform:uppercase;cursor:pointer}.panel-control:hover{color:var(--text)}.panel-content{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:1.5rem 0}.panel-content:after{content:"";position:absolute;width:270px;height:270px;border:32px solid #243538;border-radius:50%;right:-100px;top:-50px;opacity:.55;pointer-events:none}.panel-caption,.panel-label{color:#899590;font:.62rem var(--mono);letter-spacing:.12em}.panel-kanji{color:var(--gold);font-size:6rem;line-height:1.3;font-weight:300}.panel-track{display:grid;grid-template-columns:repeat(9,1fr);align-items:center;position:relative;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.5rem}.panel-track-line{position:absolute;top:20px;left:5.55%;right:5.55%;height:1px;background:#364345}.panel-track-marker{position:absolute;top:16px;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px #c9aa69a0;transform:translateX(-50%);transition:left .7s ease;pointer-events:none;z-index:1}.panel-point{position:relative;min-width:0;height:40px;padding:0;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.panel-point span{width:7px;height:7px;border:1px solid #81908a;border-radius:50%;background:#101b1d;transition:border-color .2s,transform .2s}.panel-point:focus-visible span,.panel-point:hover span{border-color:var(--gold);transform:scale(1.5)}.fit-grid,.triads{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line)}.fit-item,.triad{background:var(--bg-alt);padding:1.5rem;border-top:1px solid #8a754b}.triad-theme{color:var(--text)!important;font-size:1rem!important;margin-bottom:.6rem!important}.triad-games{font:.7rem var(--mono);letter-spacing:.08em;color:var(--gold)!important;margin:0!important}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem;gap:1.25rem}.card{background:var(--panel);border:1px solid var(--line);border-top:1px solid #8a754b;display:flex;flex-direction:column;transition:border-color .2s}.card:focus-within,.card:hover{border-color:var(--gold)}.card-cover{aspect-ratio:16/9;background:#10191b;overflow:hidden;border-bottom:1px solid var(--line)}.card-cover img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.55)}.card-body{padding:1.4rem;display:flex;flex-direction:column;gap:.8rem;flex:1 1}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.card-head h3{font-size:1.1rem;font-weight:600;letter-spacing:.03em}.kanji{color:var(--gold);font-size:1.2rem}.card .trains{color:var(--muted);margin:0;font-size:.9rem;flex:1 1}.card .trains span{color:var(--text)}.card-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem}.card-actions .btn{min-height:38px;padding:.5rem 1.1rem}.art{position:relative;width:100%;height:100%;overflow:hidden;color:hsl(var(--h) 100% 60%);background:radial-gradient(circle at 30% 20%,hsl(var(--h) 100% 50%/.28),transparent 55%),radial-gradient(circle at 80% 90%,hsl(calc(var(--h) + 120) 100% 50%/.22),transparent 55%),#07080b;animation:hue-drift 8s linear infinite}.art:before{content:"";background:linear-gradient(#ffffff0d 1px,transparent 0),linear-gradient(90deg,#ffffff0d 1px,transparent 0);background-size:24px 24px}.art svg,.art:before{position:absolute;inset:0}.art svg{width:100%;height:100%}.art-label{position:absolute;left:.9rem;bottom:.7rem;font:.6rem var(--mono);letter-spacing:.14em;color:#899590}.a-gold,.a-line,.a-ring{fill:none;stroke:currentColor;stroke-width:1.5}.a-thick{stroke-width:3;stroke-linecap:round}.a-fill{fill:currentColor}.a-gold{stroke:var(--gold)}.a-dash{stroke-dasharray:8 8;animation:dash 2s linear infinite}.a-pulse{animation:art-pulse 2s ease-in-out infinite}.a-spin{animation:art-spin 8s linear infinite}.a-float{animation:art-float 3s ease-in-out infinite}.a-ripple{animation:ripple 2.4s ease-out infinite}.a-path{offset-path:path("M10,150 L70,150 L70,100 L140,100 L140,50 L210,50 L210,120 L280,120 L280,30 L312,30");animation:follow-path 4s linear infinite}@keyframes hue-drift{to{filter:hue-rotate(1turn)}}@keyframes dash{to{stroke-dashoffset:-32}}@keyframes art-pulse{50%{opacity:.35}}@keyframes art-spin{to{transform:rotate(1turn)}}@keyframes art-float{50%{transform:translateY(-5px)}}@keyframes ripple{0%{transform:scale(.6);opacity:1}to{transform:scale(1.3);opacity:0}}@keyframes follow-path{to{offset-distance:100%}}.fit-item span{color:var(--gold);font:.7rem var(--mono)}.fit-item h3{font-size:1.05rem;font-weight:600;margin:1rem 0 .5rem}.fit-item p{min-height:2rem}.footer{border-top:1px solid var(--line);padding:3rem 0}.footer p{color:var(--muted);margin:0 0 .75rem}.footer-brand{color:var(--text)!important;font:.75rem var(--mono);letter-spacing:.12em;text-transform:uppercase}.disclaimer{font-size:.8rem}.preloader{position:fixed;inset:0;z-index:1000;background:var(--bg);display:grid;place-items:center}.preloader-core{width:min(80vw,320px);text-align:center}.preloader-kanji{color:var(--gold);font-size:2rem;margin:0 0 .5rem}.preloader-title{font:.8rem var(--mono);letter-spacing:.15em;text-transform:uppercase;margin:0 0 1.5rem}.preloader-bar{border-top:1px solid var(--gold)}.preloader-meta{color:var(--muted);font:.65rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.guide-backdrop{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(3,8,9,.8)}.guide{width:min(100%,560px);max-height:90vh;overflow-y:auto;padding:2rem;background:var(--panel);border-top:1px solid var(--line);border:1px solid var(--line);border-top-color:var(--gold)}.guide .status{margin-bottom:1.5rem}.guide-steps{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-gap:1.2rem;gap:1.2rem}.guide-steps li{display:flex;gap:1rem;align-items:flex-start}.guide-n{color:var(--gold);font:.75rem var(--mono);padding-top:.25rem}.guide-steps h3{font-size:.95rem;font-weight:600}.guide-steps p{margin:.2rem 0 0;color:var(--muted);font-size:.9rem}.guide-actions{display:flex;flex-wrap:wrap;gap:.75rem}.lang-switcher{position:absolute;top:1.3rem;right:1.5rem;z-index:600;display:flex;border:1px solid var(--line);background:var(--bg)}.lang-switcher button{font:.65rem var(--mono);padding:.55rem .6rem;background:transparent;color:var(--muted);border:0;cursor:pointer}.lang-switcher button[aria-pressed=true]{color:var(--gold)}.lang-switcher button:hover{color:var(--text)}@media (max-width:900px){.hero-inner{grid-template-columns:1fr;gap:3rem;min-height:auto}.hero-panel{max-width:600px}.grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.container{padding-left:1.25rem;padding-right:1.25rem}.header-inner{min-height:72px;padding-right:14rem}.header-link{display:none}.lang-switcher{right:1rem}.lang-switcher button{padding:.5rem .4rem}.hero-inner{padding-top:4.5rem;padding-bottom:4.5rem}.hero-panel{min-height:300px}.section{padding:4rem 0}.fit-grid,.grid,.triads{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}}