:root{--bg:#e4ecf5;--panel:#d3e2f0;--text:#0b2545;--muted:#14406b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}#root{background:radial-gradient(circle at 50% 0%, #c3d5e8, var(--bg) 70%);min-height:100%;color:var(--text);flex-direction:column;justify-content:flex-start;align-items:center;gap:24px;padding-top:20px;padding-bottom:140px;padding-left:10px;font-family:"M PLUS Rounded 1c",Yu Gothic,Segoe UI,sans-serif;display:flex;overflow-x:hidden}body{margin:0}#matrix-bg{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.logo,.subtitle,.status-line{z-index:1;position:relative}.logo{align-items:center;gap:12px;display:flex}.logo img{width:80px;animation:1.6s step-end both logo-glitch-in}.logo-text{flex-direction:column;justify-content:center;gap:2px;display:flex}.logo h1{letter-spacing:.03em;margin:0;font-family:Orbitron,Merriweather,"M PLUS Rounded 1c",serif;font-size:2.4rem;font-weight:900;line-height:1.1}.falling-letter{color:#fff;-webkit-text-stroke:5px var(--text);paint-order:stroke fill;display:inline-block}.falling-letter.scrambling{color:#0ea5e9;-webkit-text-stroke:2.5px var(--text);text-shadow:0 0 6px #0ea5e9a6}.falling-letter.decoded{animation:.4s ease-out decode-flash}.subtitle{color:var(--muted);font-size:.8rem;line-height:1.1}@keyframes decode-flash{0%{color:#0ea5e9;text-shadow:0 0 10px #0ea5e9e6}to{color:#fff;text-shadow:none}}@keyframes logo-glitch-in{0%{opacity:0;filter:hue-rotate(90deg)saturate(3);transform:translate(6px,-3px)}10%{opacity:1;filter:hue-rotate(-60deg)saturate(3);transform:translate(-5px,2px)}25%{filter:hue-rotate(45deg)saturate(2);transform:translate(4px,-2px)}40%{filter:hue-rotate(-30deg)saturate(2);transform:translate(-3px,3px)}60%{filter:hue-rotate(15deg)saturate(1.5);transform:translate(2px,-1px)}80%{filter:hue-rotate()saturate(1.2);transform:translate(-1px,1px)}to{opacity:1;filter:none;transform:translate(0)}}.subtitle p{text-align:center;margin:0;display:inline-block}.about{z-index:1;flex-direction:column;gap:28px;width:min(920px,92vw);margin:12px auto 40px;display:flex;position:relative}.eyebrow{letter-spacing:.35em;color:#0e7490;text-shadow:0 0 8px #0ea5e98c;font-family:Consolas,SFMono-Regular,monospace;font-size:.7rem;display:inline-block}.eyebrow:after{content:"";vertical-align:-.15em;background:#0e7490;width:7px;height:1em;margin-left:4px;animation:1s step-end infinite about-caret-blink;display:inline-block;box-shadow:0 0 8px #0ea5e9b3}@keyframes about-caret-blink{50%{opacity:0}}.about-heading{text-align:center;flex-direction:column;gap:6px;display:flex}.about-heading h2,.overview h2{letter-spacing:.02em;color:var(--text);margin:0;font-family:Orbitron,DotGothic16,monospace;font-size:1.5rem;font-weight:900}.reveal{--reveal-delay:0s;opacity:0;filter:blur(3px);transition:opacity .7s var(--reveal-delay) cubic-bezier(.16, 1, .3, 1), transform .7s var(--reveal-delay) cubic-bezier(.16, 1, .3, 1), filter .7s var(--reveal-delay) ease;transform:translateY(28px)scale(.97)}.reveal-in{opacity:1;filter:blur();transform:translateY(0)scale(1)}.about-cards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.about-card{background:linear-gradient(160deg,#d3e3f0eb,#81a4c99e);border:1px solid #0b254526;border-radius:18px;padding:20px 20px 22px;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .25s,filter .7s,box-shadow .2s,border-color .2s,background .3s;position:relative;overflow:hidden;box-shadow:0 10px 26px #0b254533,inset 0 1px #ffffff73}.about-card:before{content:"";z-index:1;background:linear-gradient(90deg,#22d3ee,#6366f1);height:3px;position:absolute;inset:0 0 auto}.about-card:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(100deg,#0000,#38bdf866,#0000);width:40%;height:100%;position:absolute;top:0;left:-60%;transform:skew(-20deg)}.about-card.reveal-in:after{animation:1s forwards card-sweep;animation-delay:var(--reveal-delay,0s)}@keyframes card-sweep{0%{opacity:0;left:-60%}15%{opacity:1}70%{opacity:1}to{opacity:0;left:130%}}.about-card:hover{background:linear-gradient(160deg,#e2d8eceb,#ae96c59e);border-color:#38bdf88c;transform:translateY(-4px);box-shadow:0 16px 34px #0b254547,0 0 0 1px #38bdf859,inset 0 1px #ffffff73}.about-card h3{margin:4px 0 10px}.about-card .tag{letter-spacing:.08em;color:#0c4a6e;background:#0ea5e92e;border:1px solid #0ea5e959;border-radius:999px;padding:3px 9px;font-family:Consolas,SFMono-Regular,monospace;font-size:.65rem}.about-card-title{letter-spacing:.02em;color:var(--text);margin:0 0 8px;font-family:Orbitron,DotGothic16,monospace;font-size:.9rem;font-weight:700;line-height:1.5}.about-card p:not(.about-card-title){color:var(--text);opacity:.88;margin:0;font-size:.83rem;line-height:1.75}.policy{text-align:center;background:linear-gradient(135deg,#061428f0,#040a18e6);border-radius:20px;padding:30px 26px;position:relative;box-shadow:0 0 0 1px #38bdf859,0 20px 44px #00000073,0 0 44px #38bdf838}.policy .eyebrow{color:#38bdf8;text-shadow:0 0 8px #38bdf899}.policy .eyebrow:after{background:#38bdf8;box-shadow:0 0 8px #38bdf8cc}.policy .quote{letter-spacing:.02em;color:#e0f2fe;text-shadow:0 0 14px #e0f2fe59;margin:14px 0 10px;font-family:Orbitron,DotGothic16,monospace;font-size:1.2rem;font-weight:900}.policy-body{color:#cbe0f0d9;margin:0;font-size:.85rem;line-height:1.85}.overview{background:#d3e3f08c;border:1px solid #0b254524;border-radius:20px;padding:26px 28px 28px;box-shadow:0 10px 30px #0b254529}.overview h2{margin-top:6px}.overview-grid{grid-template-columns:140px 1fr;gap:14px 22px;margin:18px 0 0;display:grid}.overview-grid dt{letter-spacing:.06em;text-transform:uppercase;color:#0c4a6e;align-self:start;padding-top:2px;font-family:Consolas,SFMono-Regular,monospace;font-size:.72rem}.overview-grid dd{color:var(--text);margin:0;font-size:.88rem;line-height:1.7}.overview-grid dd ul{margin:0;padding-left:18px}.overview-grid dd li+li{margin-top:2px}@media (width<=780px){.about-cards{grid-template-columns:1fr}.overview-grid{grid-template-columns:1fr;gap:4px 0}.overview-grid dt{margin-top:10px}}.products{z-index:1;flex-direction:column;gap:28px;width:min(1080px,94vw);margin:0 auto 40px;display:flex;position:relative}.products-heading{text-align:center;flex-direction:column;gap:6px;display:flex}.products-heading h2{letter-spacing:.02em;color:var(--text);margin:0;font-family:Orbitron,DotGothic16,monospace;font-size:1.5rem;font-weight:900}.product-list{grid-template-columns:repeat(2,1fr);align-items:stretch;gap:24px;display:grid}.product-card{background:linear-gradient(160deg,#d3e3f0eb,#81a4c99e);border:1px solid #0b254526;border-radius:20px;flex-direction:column;gap:18px;padding:26px 24px 28px;transition:transform .25s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 26px #0b254533,inset 0 1px #ffffff73}.product-card:before{content:"";background:linear-gradient(90deg, var(--accent-a), var(--accent-b));z-index:1;height:3px;position:absolute;inset:0 0 auto}.product-card:hover{border-color:color-mix(in srgb, var(--accent-a) 55%, transparent);box-shadow:0 16px 34px #0b254547, 0 0 0 1px color-mix(in srgb, var(--accent-a) 35%, transparent), inset 0 1px 0 #ffffff73;transform:translateY(-4px)}.product-head{align-items:center;gap:16px;display:flex}.product-icon{border-radius:16px;flex-shrink:0;width:64px;height:64px;box-shadow:0 6px 16px #0b254540}.product-head-text{flex-direction:column;gap:6px;min-width:0;display:flex}.os-badge{letter-spacing:.06em;color:#fff;background:linear-gradient(120deg, var(--accent-a), var(--accent-b));border-radius:999px;align-self:flex-start;padding:3px 10px;font-family:Consolas,SFMono-Regular,monospace;font-size:.65rem;box-shadow:0 2px 8px #0b254540}.product-name{color:var(--text);margin:0;font-family:Orbitron,DotGothic16,monospace;font-size:1rem;font-weight:900;line-height:1.4}.product-tagline{border-left:3px solid var(--accent-a);color:var(--text);margin:0;padding-left:12px;font-size:.92rem;font-weight:700;line-height:1.7}.product-overview{color:var(--text);opacity:.85;margin:0;font-size:.85rem;line-height:1.8}.product-features{flex-direction:column;gap:14px;display:flex}.feature-group-title{letter-spacing:.04em;color:#0c4a6e;align-items:center;gap:7px;margin:0 0 6px;font-family:Consolas,SFMono-Regular,monospace;font-size:.72rem;display:flex}.feature-group-title:before{content:"";background:linear-gradient(120deg, var(--accent-a), var(--accent-b));width:6px;height:6px;box-shadow:0 0 6px var(--accent-a);border-radius:50%}.feature-group ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.feature-group li{color:var(--text);opacity:.9;font-size:.82rem;line-height:1.7}.product-highlight{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent-a) 30%, transparent), 0 14px 30px #00000059;background:linear-gradient(135deg,#061428f0,#040a18e6);border-radius:16px;padding:20px 20px 22px}.product-highlight .eyebrow{color:var(--accent-a);text-shadow:0 0 8px color-mix(in srgb, var(--accent-a) 70%, transparent)}.product-highlight .eyebrow:after{background:var(--accent-a);box-shadow:0 0 8px color-mix(in srgb, var(--accent-a) 80%, transparent)}.product-highlight-title{color:#e0f2fe;margin:10px 0;font-family:Orbitron,DotGothic16,monospace;font-size:.92rem;font-weight:900}.product-highlight ul{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.product-highlight li{color:#cbe0f0e6;font-size:.82rem;line-height:1.75}.product-cta{letter-spacing:.02em;color:#fff;background:linear-gradient(120deg, var(--accent-a), var(--accent-b));border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin-top:4px;padding:12px 24px;font-family:Orbitron,DotGothic16,monospace;font-size:.82rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,gap .2s;display:inline-flex;box-shadow:0 10px 22px #0b254547,inset 0 1px #ffffff59}.product-cta:hover{gap:12px;transform:translateY(-3px);box-shadow:0 16px 30px #0b254559,0 0 0 1px #ffffff40,inset 0 1px #fff6}.product-cta-arrow{transition:transform .2s;display:inline-block}.product-cta:hover .product-cta-arrow{transform:translate(4px)}@media (width<=900px){.product-list{grid-template-columns:1fr}}@media (width<=480px){.product-head{align-items:flex-start}.product-icon{width:52px;height:52px}}@media (width>=701px){#root{padding-right:170px}}.hamburger{z-index:3;cursor:pointer;background:#14406b;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:none;position:fixed;top:16px;right:16px;box-shadow:0 6px 16px #00000040}.hamburger span{background:#fff;border-radius:2px;width:22px;height:3px;transition:transform .2s,opacity .2s;display:block}.hamburger.open span:first-child{transform:translateY(8px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.dock{z-index:1;flex-direction:column;align-items:flex-end;gap:0;padding:20px 24px 20px 60px;display:flex;position:fixed;top:20px;right:0}.tab{--scale:1;--shift:0px;cursor:pointer;width:64px;height:64px;color:var(--text);background:linear-gradient(160deg, var(--tab-color-a), var(--tab-color-b));transform-origin:100%;transform:translateX(var(--shift)) scale(var(--scale));-webkit-tap-highlight-color:transparent;z-index:1;border:none;border-radius:18px;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;transition:transform .12s ease-out;display:flex;position:relative;box-shadow:0 8px 18px #00000059,inset 0 2px 4px #ffffff40,inset 0 -6px 10px #00000026}.tab.hovered{z-index:5}.tab .kana{font-size:.8rem;line-height:1}.tab .label{color:#ffffffd9;letter-spacing:.02em;font-size:.5rem;font-weight:500}.tab.active{box-shadow:0 0 0 3px #ffffff8c,0 10px 24px #0006,inset 0 2px 4px #ffffff59,inset 0 -6px 10px #00000026}.status-line{color:var(--muted);font-size:.9rem}.status-line strong{color:#7dd3fc;font-size:1.05rem}footer{text-align:center;z-index:5;background:var(--bg);width:100%;padding:12px 16px 16px;font-size:.8rem;position:fixed;bottom:0;left:0;box-shadow:0 -10px 22px #0b25452e}footer p{margin:4px 0}footer hr{margin:0 auto 8px}@media (width<=700px){.logo img{width:56px}.logo h1{font-size:1.8rem}.hamburger{display:flex}.dock{background:var(--panel);opacity:0;pointer-events:none;border-radius:16px;padding:12px;transition:opacity .2s,transform .2s;top:68px;right:16px;transform:translateY(-12px);box-shadow:0 12px 30px #00000059}.dock.open{opacity:1;pointer-events:auto;transform:translateY(0)}}
