main{max-width:1000px;margin:0 auto;padding:2rem}.hero{text-align:center;margin-bottom:6rem;background-image:url(/images/hero-bg.png);background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:20px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;min-height:600px;padding:3rem 2rem 1rem;z-index:1}.hero:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000073;z-index:-1}.hero h1{font-size:3.5rem;line-height:1.2;margin-top:0;margin-bottom:0;font-weight:700;letter-spacing:-1px;color:#fff;text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,2px 2px 4px rgba(0,0,0,.9),0 0 15px rgba(0,0,0,.7)}.hero p{font-size:1.2rem;line-height:1.8;color:#fff;max-width:700px;margin:0 auto;text-shadow:1px 1px 0 rgba(0,0,0,.8),-1px -1px 0 rgba(0,0,0,.8),2px 2px 4px rgba(0,0,0,.9)}.apps h2,.partners h2,.backgrounds h2{text-align:center;margin-bottom:3rem;font-size:2.2rem;font-weight:700}.app-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:3rem;margin-bottom:6rem}.app-card{background:var(--color-surface);border:1px solid rgba(0,0,0,.05);padding:2.5rem 2rem;border-radius:20px;box-shadow:0 10px 30px -5px #0000000d;display:flex;flex-direction:column;position:relative;width:100%;max-width:450px}.app-card h3{margin-top:0;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.app-name{font-size:1.1rem;color:var(--color-text-muted);font-weight:400}.app-card p{color:var(--color-text-muted);line-height:1.7;margin:0 0 1.5rem;flex-grow:1}.app-links{margin-top:1rem;display:flex;justify-content:space-between;align-items:center}.btn-primary{display:inline-block;background:linear-gradient(135deg,var(--color-primary),#0052cc);color:#fff;padding:1rem 2rem;border-radius:50px;text-decoration:none;font-weight:700;font-size:1.1rem;box-shadow:0 10px 20px -10px #0066ff80;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 15px 25px -10px #06f9}.learn-more{color:var(--color-primary);text-decoration:none;font-weight:700;font-size:.95rem;display:inline-block;transition:opacity .2s}.learn-more:hover{opacity:.7}.partners p{text-align:center;color:var(--color-text-muted);max-width:600px;margin-left:auto;margin-right:auto;margin-bottom:3rem}.partner-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:6rem}@media(min-width:768px){.partner-grid{grid-template-columns:repeat(3,1fr)}}.partner-card{background:var(--color-surface);border:1px solid rgba(0,0,0,.05);padding:2.5rem 2rem 2rem;border-radius:20px;box-shadow:0 10px 30px -5px #0000000d;display:flex;flex-direction:column;position:relative;align-items:center;text-align:center;transition:transform .3s ease}.partner-card:hover{transform:translateY(-5px)}.partner-avatar{position:relative;margin-bottom:2rem;width:100px;height:100px;display:flex;justify-content:center}.character-images{position:absolute;bottom:0;width:100%;height:100%;transition:transform .3s ease}.character-images img{position:absolute;bottom:0;left:0;width:100%;height:100%;object-fit:contain;object-position:bottom center;display:block;margin:0;padding:0}.char-base{opacity:1}.char-blink,.char-talk{opacity:0}@keyframes anim-base-blink{0%,94.9%{opacity:1}95%,99%{opacity:0}99.1%,to{opacity:1}}@keyframes anim-blink-show{0%,94.9%{opacity:0}95%,99%{opacity:1}99.1%,to{opacity:0}}@keyframes anim-base-talk{0%,49.9%{opacity:1}50%,to{opacity:0}}@keyframes anim-talk-show{0%,49.9%{opacity:0}50%,to{opacity:1}}.partner-card .char-base{animation:anim-base-blink 4s infinite}.partner-card .char-blink{animation:anim-blink-show 4s infinite}.keida .char-base,.keida .char-blink{animation-delay:1.5s}.akagiri .char-base,.akagiri .char-blink{animation-delay:3s}.partner-card:hover .char-base{animation:anim-base-talk .3s infinite!important}.partner-card:hover .char-blink{animation:none!important;opacity:0!important}.partner-card:hover .char-talk{animation:anim-talk-show .3s infinite!important}.partner-card:hover .character-images{transform:translateY(-5px)}.speech-bubble{position:absolute;top:-40px;background:#fff;border:2px solid #eaeaea;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:700;color:var(--color-text-main);white-space:nowrap;opacity:0;transform:translateY(10px);transition:all .3s cubic-bezier(.175,.885,.32,1.275);pointer-events:none;box-shadow:0 4px 10px #0000000d;z-index:10}.speech-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-width:6px 6px 0;border-style:solid;border-color:#eaeaea transparent transparent transparent}.partner-card:hover .speech-bubble{opacity:1;transform:translateY(0)}.partner-card h3{margin-top:0;margin-bottom:.5rem;font-size:1.3rem;font-weight:700}.partner-card p{color:var(--color-text-muted);line-height:1.6;margin:0 0 1.5rem;flex-grow:1;font-size:.9rem}.partner-card .badge{position:absolute;top:1rem;right:1rem;color:#fff;padding:.2rem .6rem;border-radius:50px;font-size:.75rem;font-weight:700}.madoka{border-top:4px solid #F8719D}.madoka h3{color:#c2255c}.madoka .badge{background-color:#f8719d}.keida{border-top:4px solid #FBBF24}.keida h3{color:#d97706}.keida .badge{background-color:#fbbf24}.akagiri{border-top:4px solid #34D399}.akagiri h3{color:#059669}.akagiri .badge{background-color:#34d399}.backgrounds p{text-align:center;color:var(--color-text-muted);max-width:600px;margin-left:auto;margin-right:auto;margin-bottom:3rem}.background-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:4rem}.background-card{background:var(--color-surface);border-radius:20px;box-shadow:0 10px 30px -5px #0000000d;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.background-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px -5px #0000001a}.bg-image-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden}.bg-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.background-card:hover .bg-image-wrapper img{transform:scale(1.05)}.bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000 50%,#0009);z-index:1}.bg-name{position:absolute;bottom:1.5rem;left:1.5rem;margin:0;font-size:1.5rem;font-weight:700;color:#fff;font-family:Sawarabi Gothic,sans-serif;text-shadow:0 2px 4px rgba(0,0,0,.3);z-index:2}.phone-mockup{border:12px solid #1F2937;border-radius:38px;box-shadow:0 20px 40px -10px #00000026,0 10px 20px -5px #0000001a;background:#1f2937;width:250px;max-width:100%;aspect-ratio:9 / 19;overflow:hidden;align-self:center}.phone-screen{width:100%;height:100%;background-color:#000;overflow:hidden}.phone-screen img{width:100%;height:100%;object-fit:cover;display:block}.download-area{margin-top:2rem!important;margin-bottom:2.5rem!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;width:100%!important}.app-store-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;background-color:#000!important;border:1px solid #A6A6A6!important;border-radius:10px!important;padding:0 16px!important;width:200px!important;height:60px!important;text-decoration:none!important;box-sizing:border-box!important;transition:background-color .2s ease,transform .1s ease!important}.app-store-btn:hover{background-color:#1a1a1a!important;transform:translateY(-2px)!important}.apple-badge-icon{width:26px!important;height:34px!important;fill:#fff!important;margin-right:12px!important;flex-shrink:0!important}.btn-badge-text{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;line-height:1.15!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif!important}.badge-sub-text{font-size:11px!important;font-weight:500!important;color:#fff!important;letter-spacing:.5px!important}.badge-main-text{font-size:21px!important;font-weight:600!important;color:#fff!important;letter-spacing:0!important;margin-top:2px!important}
