:root{--bg: #f7f1e8;--bg-raised: #fffbf4;--bg-sunk: #efe6d7;--text: #241a12;--muted: #6f5f4f;--faint: #9c8b78;--line: #e7dac6;--line-strong: #d8c7ae;--accent: #c0421f;--accent-ink: #9a2f12;--accent-soft: rgba(200, 66, 31, .1);--gem-1: #f0703f;--gem-2: #d6371f;--gem-3: #8f1908;--gem-edge: #2a0d06;--cat-ai: #c0421f;--cat-game: #7d8b3f;--cat-movie: #8a5a86;--scene-mat: #f4efe4;--shadow-card: 0 1px 2px rgba(80, 40, 15, .05), 0 10px 26px rgba(120, 60, 25, .08);--shadow-lift: 0 3px 6px rgba(80, 40, 15, .09), 0 20px 48px rgba(120, 60, 25, .17);--measure: 680px;--measure-wide: 1040px;--radius: 16px;--sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, Arial, sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Courier New", monospace;color-scheme:light}[data-theme=dark]{--bg: #16110c;--bg-raised: #211910;--bg-sunk: #100c08;--text: #f3e9db;--muted: #b6a58f;--faint: #857463;--line: #33291d;--line-strong: #493c2a;--accent: #f0703f;--accent-ink: #f68d5f;--accent-soft: rgba(240, 112, 63, .14);--cat-ai: #ef6a45;--cat-game: #b6c56a;--cat-movie: #c495c0;--scene-mat: #d7cdb8;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 30px rgba(0, 0, 0, .45);--shadow-lift: 0 3px 8px rgba(0, 0, 0, .5), 0 22px 50px rgba(0, 0, 0, .6);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .3s ease,color .3s ease}::selection{background:var(--accent-soft)}a{color:inherit}img{max-width:100%;display:block}.wrap{width:100%;max-width:var(--measure);margin:0 auto;padding:0 24px}.wrap-wide{width:100%;max-width:var(--measure-wide);margin:0 auto;padding:0 24px}.skip{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:10px 16px;z-index:100}.skip:focus{left:0}.kicker{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 20px;display:flex;align-items:center;gap:10px}.kicker:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line-strong),transparent)}.link{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-soft);transition:border-color .15s ease}.link:hover{border-bottom-color:var(--accent)}.site-header{padding:30px 0 0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.01em;font-size:1.04rem;text-decoration:none}.brand img{width:22px;height:22px}.header-nav{display:flex;align-items:center;gap:22px;font-family:var(--mono);font-size:.8rem}.header-nav a{color:var(--muted);text-decoration:none;padding-bottom:2px;transition:color .15s ease}.header-nav a:hover{color:var(--accent)}.header-nav .hide-sm{display:inline}.theme-toggle{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;background:var(--bg-raised);color:var(--muted);cursor:pointer;padding:0;transition:color .15s ease,border-color .15s ease,transform .2s ease}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-toggle:active{transform:scale(.92)}.theme-toggle svg{width:17px;height:17px}.theme-toggle .i-moon{display:none}.theme-toggle .i-sun,[data-theme=dark] .theme-toggle .i-moon{display:block}[data-theme=dark] .theme-toggle .i-sun{display:none}.lang-switch{position:relative}.lang-switch summary{list-style:none;cursor:pointer;color:var(--muted);padding-bottom:2px;user-select:none}.lang-switch summary::-webkit-details-marker{display:none}.lang-switch summary:after{content:" ▾";color:var(--faint)}.lang-switch[open] summary,.lang-switch summary:hover{color:var(--accent)}.lang-switch ul{position:absolute;right:0;top:calc(100% + 12px);z-index:60;margin:0;padding:6px;list-style:none;min-width:150px;background:var(--bg-raised);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow-card)}.lang-switch li{margin:0}.lang-switch ul a{display:block;padding:7px 12px;border-radius:8px;color:var(--muted);text-decoration:none;font-family:var(--sans);font-size:.9rem}.lang-switch ul a:hover{background:var(--bg-sunk);color:var(--text)}.lang-switch ul a[aria-current=true]{color:var(--accent);font-weight:700}.hero{padding:72px 0 40px}.hero-inner{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center}.hero h1{font-size:clamp(2.3rem,6vw,3.6rem);line-height:1.28;font-weight:800;letter-spacing:.005em;margin:0 0 24px}.hero h1 .em{color:var(--accent)}.hero-lead{font-size:1.08rem;color:var(--muted);margin:0 0 26px;max-width:46ch}.hero-lead strong{color:var(--text);font-weight:700}.hero-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.82rem;letter-spacing:.02em;text-decoration:none;padding:11px 20px;border-radius:999px;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.btn svg{width:15px;height:15px}.btn-primary{background:linear-gradient(135deg,var(--gem-1),var(--gem-2));color:#fff;box-shadow:0 6px 18px #c8421f47}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px #c8421f61}.btn-ghost{color:var(--muted);border:1px solid var(--line-strong)}.btn-ghost:hover{color:var(--accent);border-color:var(--accent)}.gem-stage{--mx: 0deg;--my: 0deg;position:relative;width:clamp(210px,27vw,300px);perspective:900px;flex-shrink:0}.gem-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(52% 40% at 50% 72%,rgba(240,112,63,.32),transparent 70%);filter:blur(24px)}.hero-figure{display:block;width:100%;height:auto;transform:rotateX(var(--my)) rotateY(var(--mx));transition:transform .25s ease-out;filter:drop-shadow(0 20px 34px rgba(120,40,15,.28));animation:gem-float 7s ease-in-out infinite}.gem{width:100%;height:100%;transform:rotateX(var(--my)) rotateY(var(--mx));transition:transform .25s ease-out;filter:drop-shadow(0 22px 40px rgba(143,25,8,.32));animation:gem-float 7s ease-in-out infinite}@keyframes gem-float{0%,to{translate:0 0}50%{translate:0 -12px}}.gem .facet-hi{transition:opacity .25s ease}.section{padding:64px 0;border-top:1px solid var(--line)}.section-head{margin-bottom:34px}.section-head .lead{color:var(--muted);margin:0;max-width:56ch}.bento{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px 26px 24px;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);text-decoration:none;color:inherit;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.card.is-feature{grid-column:1 / -1}.card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gem-1),var(--gem-2));opacity:0;transition:opacity .22s ease}a.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--line-strong)}a.card:hover:before{opacity:1}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-cat{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.card-cat .dot{width:8px;height:8px;border-radius:50%;background:var(--cat, var(--accent));flex-shrink:0}.card-status{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--muted);white-space:nowrap}.card-status .pulse{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:middle;background:var(--accent)}.card h3{font-size:1.28rem;font-weight:700;margin:2px 0 0;letter-spacing:.01em;display:inline-flex;align-items:center;gap:8px}.is-feature h3{font-size:1.5rem}a.card h3:after{content:"→";color:var(--faint);font-size:.82em;transition:transform .2s ease,color .2s ease}a.card:hover h3{color:var(--accent)}a.card:hover h3:after{color:var(--accent);transform:translate(4px)}.card-desc{color:var(--muted);margin:0;max-width:62ch}.card-plat{font-family:var(--mono);font-size:.72rem;color:var(--faint);margin:auto 0 0;padding-top:4px}.roadmap-list{list-style:none;margin:0;padding:0}.roadmap-list li{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:210px 1fr;gap:8px 28px}.roadmap-list li:first-child{border-top:none;padding-top:0}.roadmap-list .r-name{font-weight:700;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.roadmap-list .r-tag{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);white-space:nowrap;padding:2px 8px;border:1px solid var(--line-strong);border-radius:999px}.roadmap-list .r-body{color:var(--muted);max-width:58ch}.about-inner{display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:40px;align-items:center}.about-scene{width:100%;height:auto;display:block;background:var(--scene-mat);padding:16px;border:1px solid var(--line-strong);border-radius:18px;box-shadow:var(--shadow-card)}.about-body p{color:var(--text);margin:0 0 18px;max-width:60ch}.about-now{font-family:var(--mono);font-size:.8rem;color:var(--muted);margin:0 0 20px!important;display:inline-flex;align-items:center;gap:9px}.about-now .pulse{width:7px;height:7px;border-radius:50%;background:#3f9d55;box-shadow:0 0 #3f9d5580;animation:live 2.4s ease-out infinite}@keyframes live{0%{box-shadow:0 0 #3f9d5580}70%,to{box-shadow:0 0 0 8px #3f9d5500}}.about-socials{display:flex;flex-wrap:wrap;gap:10px}.social-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.78rem;color:var(--muted);text-decoration:none;padding:8px 14px;border:1px solid var(--line-strong);border-radius:999px;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.social-link:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.social-link svg{width:15px;height:15px}.about-contact{margin:16px 0 0;font-family:var(--mono);font-size:.82rem;color:var(--muted);display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.about-contact svg{width:15px;height:15px;color:var(--faint);flex-shrink:0}.about-contact>span:after{content:":";color:var(--faint);margin-left:1px}.about-contact a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-soft)}.about-contact a:hover{border-bottom-color:var(--accent)}.site-footer{border-top:1px solid var(--line);margin-top:48px;padding:36px 0 60px}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.footer-brand{display:inline-flex;align-items:center;gap:9px;font-weight:700}.footer-brand img{width:18px;height:18px}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-family:var(--mono);font-size:.78rem}.footer-links a{color:var(--muted);text-decoration:none;transition:color .15s ease;display:inline-flex;align-items:center;gap:6px}.footer-links a svg{width:13px;height:13px}.footer-links a:hover{color:var(--accent)}.footer-copy{margin-top:20px;font-family:var(--mono);font-size:.72rem;color:var(--faint)}.lp{padding-top:56px}.lp-back{font-family:var(--mono);font-size:.78rem;color:var(--muted);text-decoration:none}.lp-back:hover{color:var(--accent)}.lp-cat{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:28px 0 12px}.lp-cat .dot{width:8px;height:8px;border-radius:50%;background:var(--cat, var(--accent))}.lp h1{font-size:clamp(2rem,5.4vw,2.9rem);font-weight:800;margin:0 0 10px}.lp-meta{font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;color:var(--faint);margin:0 0 28px}.lp-tagline{font-size:1.2rem;line-height:1.7;color:var(--text);max-width:60ch;margin:0 0 40px}.lp-features{list-style:none;margin:0;padding:0}.lp-features li{padding:18px 0 18px 30px;border-top:1px solid var(--line);color:var(--text);position:relative}.lp-features li:before{content:"◆";position:absolute;left:4px;color:var(--accent);font-size:.8em;top:20px}.lp-features li:first-child{border-top:none}.lp-lede{font-size:1.24rem;line-height:1.7;color:var(--text);max-width:44rem;margin:8px 0 40px}.lp-shot{margin:0 0 12px;border-radius:16px;overflow:hidden;border:1px solid var(--line-strong);background:var(--bg-sunk);box-shadow:var(--shadow-lift)}.lp-shot img{width:100%;height:auto;display:block}.lp-shot figcaption{font-family:var(--mono);font-size:.74rem;color:var(--faint);padding:12px 16px;border-top:1px solid var(--line)}.lp-block{padding:52px 0 0}.lp-h2{font-size:clamp(1.4rem,3.4vw,1.9rem);font-weight:800;letter-spacing:.01em;margin:0 0 16px;max-width:24ch}.lp-body{color:var(--muted);max-width:60ch;margin:0;font-size:1.04rem}.lp-features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.lp-feature{padding:22px 22px 20px;background:var(--bg-raised);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-card)}.lp-feature h3{font-size:1.05rem;font-weight:700;margin:0 0 8px;display:flex;align-items:baseline;gap:9px}.lp-feature h3:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cat, var(--accent));flex-shrink:0}.lp-feature p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.7}.lp-cta{margin-top:56px;padding:40px;border:1px solid var(--line-strong);border-radius:20px;background:var(--bg-raised);box-shadow:var(--shadow-card)}.lp-cta .lp-body{margin-bottom:24px}@media(max-width:640px){.lp-features-grid{grid-template-columns:1fr}.lp-cta{padding:28px 22px}}@media(max-width:820px){.hero-inner{grid-template-columns:1fr;gap:8px}.gem-stage{order:-1;margin:0 0 8px;width:clamp(150px,40vw,200px)}}@media(max-width:640px){body{font-size:16px}.bento{grid-template-columns:1fr;gap:14px}.card.is-feature{grid-column:auto}.header-nav{gap:16px}.header-nav .hide-sm{display:none}.roadmap-list li{grid-template-columns:1fr;gap:4px}.about-inner{grid-template-columns:1fr;gap:20px}.about-scene{max-width:340px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.gem,.hero-figure{animation:none;transform:none}.about-now .pulse{animation:none}a.card:hover{transform:none}a.card:hover h3:after{transform:none}.btn-primary:hover{transform:none}}
