:root{color-scheme:dark;--color-bg: #080c09;--color-surface: #0e1410;--color-surface-raised: #141d15;--color-surface-hover: #1c2a1d;--color-border: rgba(255, 255, 255, .07);--color-border-strong: rgba(255, 255, 255, .13);--color-text: #d8e8da;--color-text-muted: #6e8572;--color-text-subtle: #637a67;--color-accent: #2eca7a;--color-accent-dim: #1c9358;--color-accent-hover: #40e08e;--color-accent-surface: rgba(46, 202, 122, .08);--color-accent-border: rgba(46, 202, 122, .22);--font-sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Hiragino Sans", "Yu Gothic UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Fira Code", monospace;--shell-width: 1120px;--content-width: 720px;--radius-sm: 4px;--radius-md: 6px;--t-fast: .13s ease;--t-base: .2s ease}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;font-size:16px;line-height:1.75}html[lang=ja] body{line-height:1.9}body,button,input,textarea,select{font:inherit}a{color:var(--color-accent);text-underline-offset:.2em;transition:color var(--t-fast)}a:hover{color:var(--color-accent-hover)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}p,ul{margin:0}ul{padding-left:1.25rem}li+li{margin-top:.5rem}img,svg{display:block;max-width:100%}.site-shell{width:min(100% - 40px,var(--shell-width));margin:0 auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:12px;left:12px;z-index:100;padding:7px 14px;font-size:.8rem;font-weight:600;color:var(--color-bg);background:var(--color-accent);text-decoration:none;border-radius:var(--radius-sm);transform:translateY(-200%);transition:transform var(--t-fast)}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:50;background:#080c09d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border)}.site-nav{display:flex;gap:20px;align-items:center;justify-content:space-between;height:60px}.brand{font-size:.85rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-text);text-decoration:none;transition:color var(--t-fast)}.brand:hover{color:var(--color-accent)}.nav-cluster{display:flex;align-items:center;gap:6px 24px}.primary-nav{display:flex;align-items:center;gap:2px}.primary-nav a{padding:6px 10px;font-size:.875rem;color:var(--color-text-muted);text-decoration:none;border-radius:var(--radius-sm);transition:color var(--t-fast),background var(--t-fast)}.primary-nav a:hover{color:var(--color-text);background:#ffffff0d}.primary-nav a[aria-current=page]{color:var(--color-text);background:#ffffff14}.language-switcher{padding:5px 10px;font-size:.78rem;font-family:var(--font-mono);color:var(--color-text-muted);text-decoration:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast)}.language-switcher:hover{color:var(--color-text);background:#ffffff0d}.site-main{padding-bottom:96px}.hero-wrap{position:relative;overflow:hidden;border-bottom:1px solid var(--color-border)}.hero-wrap:before{content:"";position:absolute;top:-80px;left:-8%;width:60%;height:480px;background:radial-gradient(ellipse at center,rgba(46,202,122,.08),transparent 68%);pointer-events:none;z-index:0}.hero-wrap:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(46,202,122,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(46,202,122,.028) 1px,transparent 1px);background-size:44px 44px;pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 28%,black 72%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 28%,black 72%,transparent 100%)}.hero-wrap .site-shell{position:relative;z-index:1}.page-header{padding:80px 0 56px;max-width:var(--shell-width)}.hero-wrap .page-header{padding:88px 0 64px}.eyebrow{display:inline-flex;align-items:center;margin:0 0 18px;font-size:.75rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-accent)}h1,h2,h3{margin:0}h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700;line-height:1.07;letter-spacing:-.03em;color:var(--color-text);max-width:20ch}h2{font-size:1.45rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--color-text)}h3{font-size:1.05rem;font-weight:600;line-height:1.4;color:var(--color-text)}.page-lead{margin-top:20px;max-width:var(--content-width);font-size:1.05rem;color:var(--color-text-muted);line-height:1.8}.action-row{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin-top:36px}.button-link{display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:42px;padding:9px 20px;font-size:.875rem;font-weight:600;color:#060e07;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-sm);text-decoration:none;transition:background var(--t-fast),border-color var(--t-fast),transform .12s ease}.button-link:before{content:"";position:absolute;top:0;left:-100%;width:55%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);pointer-events:none}.button-link:hover{color:#060e07;background:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-1px)}.button-link:active{transform:translateY(0) scale(.98)}.text-link{display:inline-flex;align-items:center;gap:6px;min-height:42px;font-size:.875rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:color var(--t-fast)}.text-link:after{content:"→";font-size:.9em;transition:transform var(--t-fast)}.text-link:hover{color:var(--color-text)}.text-link:hover:after{transform:translate(3px)}.content-section{margin-top:64px;padding-top:40px;border-top:1px solid var(--color-border)}.content-section--narrow{max-width:var(--content-width)}.content-section h2{margin-bottom:20px}.content-section p,.section-intro{max-width:var(--content-width);color:var(--color-text-muted)}.content-section p+p{margin-top:14px}.app-list{display:grid;gap:14px;margin-top:4px}.app-card{max-width:800px;padding:28px 32px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--t-base),transform .18s ease,box-shadow .18s ease}.app-card:hover{border-color:var(--color-accent-border);transform:translateY(-2px);box-shadow:0 8px 28px #00000073,0 0 0 1px var(--color-accent-border)}.app-card__header{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-bottom:16px}.app-card__header span{display:inline-flex;align-items:center;height:24px;padding:0 9px;font-size:.7rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.05em;color:var(--color-accent);background:var(--color-accent-surface);border:1px solid var(--color-accent-border);border-radius:3px}.app-summary{font-size:.95rem;color:var(--color-text-muted)}.app-card ul{margin-top:16px}.app-card li{font-size:.9rem;color:var(--color-text-muted)}.app-availability{margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border);font-size:.8rem;font-family:var(--font-mono);color:var(--color-text-subtle)}.contact-panel{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;max-width:var(--content-width);margin-top:28px;padding:24px 28px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.contact-panel p{font-size:.9rem;font-family:var(--font-mono);color:var(--color-text-muted)}.legal-document{max-width:var(--content-width);margin-top:48px}.legal-notice{margin-bottom:36px;padding:16px 20px;font-size:.9rem;color:var(--color-text-muted);background:var(--color-surface);border-left:3px solid var(--color-accent-dim);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.legal-section{padding-top:32px;border-top:1px solid var(--color-border)}.legal-section+.legal-section{margin-top:32px}.legal-section h2{margin-bottom:14px;font-size:1.15rem}.legal-section p{color:var(--color-text-muted)}.legal-section p+p{margin-top:12px}.site-footer{border-top:1px solid var(--color-border)}.footer-grid{display:flex;gap:24px;align-items:flex-start;justify-content:space-between;padding:36px 0}.footer-brand{font-size:.8rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-text-muted);text-decoration:none;transition:color var(--t-fast)}.footer-brand:hover{color:var(--color-text)}.footer-copy{margin-top:8px;font-size:.78rem;font-family:var(--font-mono);color:var(--color-text-subtle)}.footer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:2px;justify-content:flex-end}.footer-nav a{padding:5px 9px;font-size:.8rem;color:var(--color-text-subtle);text-decoration:none;border-radius:var(--radius-sm);transition:color var(--t-fast),background var(--t-fast)}.footer-nav a:hover{color:var(--color-text-muted);background:#ffffff0a}.cursor{display:inline-block;font-family:var(--font-mono);color:var(--color-accent);margin-left:1px;font-weight:400;user-select:none}@keyframes glow-drift{0%,to{transform:translate(0) scale(1);opacity:1}50%{transform:translate(4%,2%) scale(1.08);opacity:.8}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes shimmer{0%{left:-100%}to{left:200%}}@media(prefers-reduced-motion:no-preference){.hero-wrap:before{animation:glow-drift 14s ease-in-out infinite}.cursor{animation:blink 1.1s step-end infinite}.button-link:hover:before{animation:shimmer .55s ease-in-out}}@media(max-width:760px){.site-shell{width:min(100% - 28px,var(--shell-width))}.site-nav{height:auto;flex-wrap:wrap;padding:14px 0;gap:10px 16px}.nav-cluster{flex-wrap:wrap;gap:8px 16px}.page-header,.hero-wrap .page-header{padding:64px 0 48px}h1{font-size:clamp(1.9rem,11vw,2.8rem)}h2{font-size:1.25rem}.page-lead{font-size:1rem}.content-section{margin-top:52px;padding-top:32px}.app-card{padding:20px 22px}.contact-panel{flex-direction:column;align-items:stretch;padding:20px 22px}.button-link{width:100%;justify-content:center}.footer-grid{flex-direction:column;gap:20px;padding:28px 0}.footer-nav{justify-content:flex-start}.site-main{padding-bottom:72px}}
