:root{--font-body: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-display: "Playfair Display", "Georgia", "Times New Roman", serif;--font-system: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-page-start: #fff6f9;--color-page-end: #f5edff;--background-page: linear-gradient( 135deg, var(--color-page-start) 0%, var(--color-page-end) 100% );--color-text: #3a2a3a;--color-text-muted: rgba(58, 42, 58, .5);--color-text-subtle: rgba(58, 42, 58, .45);--color-accent: #ff9ed8;--color-accent-hover: #ff7ac4;--color-accent-active: #f15aa8;--color-accent-soft: rgba(255, 158, 216, .1);--color-accent-soft-active: rgba(255, 158, 216, .18);--color-border-soft: rgba(58, 42, 58, .25);--color-border-medium: rgba(58, 42, 58, .35);--color-border-disabled: rgba(58, 42, 58, .15);--color-window: #000000;--color-window-border: #111111;--color-window-titlebar: #000000;--color-window-titlebar-border: #222222;--color-white: #ffffff;--color-mac-close: #ff5f57;--color-mac-close-border: #e04343;--color-mac-minimize: #ffbd2e;--color-mac-minimize-border: #e0a92e;--color-mac-maximize: #28c941;--color-mac-maximize-border: #1ea835;--color-overlay-soft: rgba(0, 0, 0, .3);--color-overlay-medium: rgba(0, 0, 0, .5);--color-slider-track: rgba(255, 255, 255, .2);--color-slider-hover: rgba(255, 255, 255, .1);--color-scrollbar-track: rgba(0, 0, 0, .05);--color-scrollbar-thumb: rgba(0, 0, 0, .5);--color-scrollbar-thumb-hover: rgba(0, 0, 0, .7);--shadow-button: 0 1px 3px rgba(0, 0, 0, .05);--shadow-window: 0 10px 25px rgba(212, 165, 196, .2);--radius-pill: 9999px;--radius-window: 18px;--radius-window-inner: 14px;--radius-window-tablet: 14px;--radius-window-mobile: 10px;--radius-panel: 4px;--radius-control: 50%;--content-max-width: 1400px;--hero-max-width: 620px;--hero-copy-tablet-max-width: 36rem;--hero-copy-mobile-max-width: 23rem;--hero-copy-compact-max-width: 20.5rem;--live2d-window-mobile-max-width: 380px;--live2d-window-compact-max-width: 342px;--footer-max-width: 1120px;--footer-small-desktop-max-width: 860px;--footer-large-desktop-max-width: 1320px;--footer-block-padding-y: .45rem;--footer-bottom-space: .875rem;--footer-desktop-padding-x: 2.5rem;--footer-medium-padding-x: 1.25rem;--footer-large-padding-x: 3.5rem;--footer-mobile-padding-x: .5rem;--font-size-body: 16px;--font-size-hero-title: 3.75rem;--font-size-hero-title-medium: 3.55rem;--font-size-hero-title-mobile: 2.95rem;--font-size-hero-title-landscape: 2rem;--font-size-hero-subtitle: 1.55rem;--font-size-hero-subtitle-medium: 1.22rem;--font-size-hero-subtitle-mobile: 1.15rem;--font-size-hero-subtitle-landscape: .95rem;--font-size-titlebar: 13px;--font-size-model-info: 14px;--font-size-footer: .75rem;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-window: .5s cubic-bezier(.25, .8, .25, 1);color-scheme:light;color:var(--color-text);background-color:var(--color-page-start);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html{min-height:100%;overflow-x:hidden;overflow-x:clip;background:var(--background-page);background-color:var(--color-page-start);background-size:100% 100%;background-attachment:scroll}html,body{margin:0;padding:0;width:100%;max-width:100%;color:var(--color-text);font-size:var(--font-size-body);line-height:1.6}body{min-height:100dvh;overflow-x:hidden;overflow-x:clip;background:var(--background-page);background-color:var(--color-page-start);background-size:100% 100%}#app{width:100%;max-width:100%;min-height:100dvh;overflow-x:hidden;overflow-x:clip}@media (min-width: 1025px){html,body{height:100vh;overflow:hidden}}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:600;line-height:1.2;margin-bottom:.5rem;letter-spacing:0}p{color:var(--color-text);font-size:.95rem;margin-bottom:1rem}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-accent-hover)}button,.button{display:inline-block;padding:.7em 1.6em;border:none;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-white);font-family:inherit;font-size:.95rem;font-weight:500;text-align:center;text-decoration:none;cursor:pointer;transition:background-color var(--transition-base),box-shadow var(--transition-base);letter-spacing:0;box-shadow:var(--shadow-button);position:relative;overflow:hidden}button:hover,.button:hover{background:var(--color-accent-hover)}button:active,.button:active{background:var(--color-accent-active)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track);border-radius:var(--radius-panel)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:var(--radius-panel);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb) var(--color-scrollbar-track)}.landing-container.simplified{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"live2d hero";align-items:center;justify-content:center;min-height:100vh;max-width:var(--content-max-width);margin:0 auto;padding:1.5rem 2rem calc(90px + var(--footer-bottom-space));gap:2rem}.hero-text{grid-area:hero;max-width:var(--hero-max-width);padding:0 1rem;text-align:left;z-index:2}.hero-text h1{margin:0 0 .4rem;color:var(--color-accent);font-size:var(--font-size-hero-title);font-weight:600;line-height:1.05;letter-spacing:0}.hero-text h1 .rally-name{font-family:var(--font-display);font-style:italic;font-weight:700;letter-spacing:0}.hero-text h1 .heart{display:inline-block;margin-left:.15em;font-family:var(--font-system);font-style:normal;font-weight:400;vertical-align:-.05em}.hero-text .hero-sub{margin:0 0 1.25rem;color:var(--color-text);font-size:var(--font-size-hero-subtitle);font-weight:500;line-height:1.35}.hero-buttons{display:flex;justify-content:flex-start;gap:12px;margin-top:12px}.hero-launch{padding:12px 28px;border:none;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-text);box-shadow:var(--shadow-button);cursor:pointer;font-size:1.05rem;font-weight:600;letter-spacing:0;text-transform:none;transition:background-color var(--transition-fast)}.hero-launch:hover{background:var(--color-accent-hover)}.hero-launch:active{background:var(--color-accent-active)}.hero-say-hello{padding:10px 20px;border:1.5px solid var(--color-border-soft);border-radius:var(--radius-pill);background:transparent;color:var(--color-text);box-shadow:none;cursor:pointer;font-size:.95rem;font-weight:500;letter-spacing:0;text-transform:none;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.hero-say-hello:hover{background:var(--color-accent-soft);border-color:var(--color-border-medium)}.hero-say-hello:active{background:var(--color-accent-soft-active)}.hero-say-hello:disabled{background:transparent;border-color:var(--color-border-disabled);cursor:not-allowed;opacity:.6}.landing-container.simplified .live2d-showcase{grid-area:live2d;align-self:center;justify-self:end;width:100%;max-width:var(--hero-max-width);height:620px;min-height:620px;padding:0}.landing-container.simplified .facetime-window{height:100%;min-height:580px;border:4px solid var(--color-window-border);border-radius:var(--radius-window);background:var(--color-window);box-shadow:none;overflow:hidden}.landing-footer{position:fixed;right:0;bottom:var(--footer-bottom-space);left:0;z-index:100;width:100%;padding-top:var(--footer-block-padding-y);padding-bottom:var(--footer-block-padding-y);background:transparent;pointer-events:none}.landing-footer .footer-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--footer-max-width);margin:0 auto;padding:0 var(--footer-desktop-padding-x);color:var(--color-text-subtle);font-size:var(--font-size-footer);pointer-events:auto}.landing-footer .copyright{color:var(--color-text-muted);text-decoration:none}.landing-footer .copyright:hover{color:var(--color-text);text-decoration:underline}.landing-footer .social-links{display:flex;gap:28px}.landing-footer .social-links a{display:flex;align-items:center;color:var(--color-text-muted);transition:color var(--transition-fast)}.landing-footer .social-links a:hover{color:var(--color-text)}@media (min-width: 901px) and (max-width: 1199px){.landing-footer .footer-inner{max-width:var(--footer-small-desktop-max-width);padding:0 var(--footer-medium-padding-x)}}@media (min-width: 1200px) and (max-width: 1400px){.landing-footer .footer-inner{padding:0 var(--footer-medium-padding-x)}}@media (min-width: 1401px){.landing-footer .footer-inner{max-width:var(--footer-large-desktop-max-width);padding:0 var(--footer-large-padding-x)}}@media (max-width: 1360px){.hero-text h1{font-size:var(--font-size-hero-title-medium)}.hero-text .hero-sub{font-size:var(--font-size-hero-subtitle-medium)}}@media (max-width: 1024px){html,body{height:auto;min-height:100vh;overflow-y:auto}}@media (max-width: 900px){.landing-container.simplified{display:flex;flex-direction:column;align-items:center;min-height:100vh;height:auto;padding:1.25rem 1rem var(--footer-bottom-space);gap:1.75rem}.landing-container.simplified .live2d-showcase{order:1;justify-self:center;width:100%;max-width:100%;height:auto;min-height:480px}.landing-container.simplified .facetime-window{width:100%;max-width:540px;margin:0 auto}.hero-text{order:2;max-width:100%;padding:0 .5rem;text-align:center}.hero-text h1{font-size:var(--font-size-hero-title-mobile)}.hero-text .hero-sub{max-width:var(--hero-copy-tablet-max-width);margin-bottom:1rem;margin-left:auto;margin-right:auto;font-size:var(--font-size-hero-subtitle-mobile)}.hero-buttons{justify-content:center}.landing-footer{position:static;order:3;width:100%;margin-top:auto;padding-top:var(--footer-block-padding-y);padding-bottom:var(--footer-block-padding-y)}.landing-footer .footer-inner{flex-direction:row;align-items:center;justify-content:space-between;width:100%;max-width:100%;padding:0 var(--footer-mobile-padding-x);gap:.75rem;text-align:left}.landing-footer .social-links{gap:20px}}@media (min-width: 769px) and (max-width: 900px){.landing-container.simplified .facetime-window{max-width:600px}}@media (max-width: 600px){.landing-container.simplified .live2d-showcase{height:clamp(420px,56vh,500px);min-height:0}.landing-container.simplified .facetime-window{height:100%;min-height:0;max-width:min(100%,var(--live2d-window-mobile-max-width))}.hero-text .hero-sub{max-width:var(--hero-copy-mobile-max-width)}}@media (max-width: 390px){.landing-container.simplified{padding-right:.75rem;padding-left:.75rem;gap:.8rem}.landing-container.simplified .live2d-showcase{height:clamp(380px,58vh,410px)}.landing-container.simplified .facetime-window{max-width:min(100%,var(--live2d-window-compact-max-width))}.hero-text h1{font-size:2.58rem}.hero-text .hero-sub{max-width:var(--hero-copy-compact-max-width);font-size:1.02rem;line-height:1.32}.hero-buttons{gap:10px}.hero-launch{padding-right:24px;padding-left:24px}.hero-say-hello{padding-right:18px;padding-left:18px}.landing-footer .footer-inner{gap:.5rem;padding:0 .25rem}.landing-footer .social-links{gap:18px}.landing-footer .social-links a[aria-label=GitHub],.landing-footer .social-links a[aria-label=TikTok]{display:none}}@media (max-height: 430px) and (orientation: landscape),(max-width: 932px) and (max-height: 430px){.landing-container.simplified{display:flex;flex-direction:column;align-items:stretch;max-width:100%;min-height:100vh;margin:0;padding:.5rem .5rem .75rem;gap:.4rem}.landing-container.simplified .live2d-showcase{display:flex;align-items:center;justify-content:center;order:1;flex:0 0 auto;height:clamp(190px,52vh,220px);min-height:0;padding:.25rem;overflow:visible}.landing-container.simplified .facetime-window{display:flex;align-items:stretch;justify-content:center;max-width:100%;height:100%;min-height:0;margin-top:0;overflow:visible}.hero-text{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;order:2;max-width:100%;padding:.25rem;gap:.25rem;text-align:center}.hero-text h1{margin-bottom:.05rem;font-size:var(--font-size-hero-title-landscape);line-height:1.1}.hero-text .hero-sub{max-width:var(--hero-copy-tablet-max-width);margin-bottom:.1rem;font-size:var(--font-size-hero-subtitle-landscape);line-height:1.15}.hero-buttons{justify-content:center;flex-wrap:nowrap;gap:.35rem}.hero-launch,.hero-say-hello{min-width:auto;padding:6px 10px;font-size:.72rem}footer.landing-footer{display:block;position:static;order:3;margin-top:.25rem;padding:.25rem .5rem;font-size:.65rem}.landing-container.simplified .window-titlebar{display:flex;align-items:center;justify-content:flex-start;position:relative}.landing-container.simplified .window-controls{flex:0 0 auto;margin-right:auto}.landing-container.simplified .window-title{position:absolute;left:50%;width:auto;text-align:center;transform:translate(-50%)}.landing-container.simplified .live2d-container{align-items:center;justify-content:center;overflow:visible}.landing-container.simplified #live2d-canvas{transform:translateY(28%)}}.live2d-showcase{position:relative;display:flex;align-items:center;justify-content:center;min-height:550px;height:auto;padding:1.5rem;box-sizing:border-box;overflow:visible}.facetime-window{display:flex;flex-direction:column;width:90%;height:90%;max-width:800px;margin:0 auto;border:2px solid var(--color-window);border-radius:16px;background:var(--color-window);box-shadow:var(--shadow-window);overflow:hidden;transition:border-radius var(--transition-window),box-shadow var(--transition-window)}.window-titlebar{position:relative;display:flex;align-items:center;flex-shrink:0;height:30px;padding:0 12px;border-bottom:1px solid var(--color-window-titlebar-border);border-top-left-radius:var(--radius-window-inner);border-top-right-radius:var(--radius-window-inner);background:var(--color-window-titlebar)}.window-controls{display:flex;gap:6px;z-index:2}.window-button{width:12px;height:12px;border-radius:var(--radius-control);cursor:pointer}.window-close{background-color:var(--color-mac-close);border:1px solid var(--color-mac-close-border)}.window-minimize{background-color:var(--color-mac-minimize);border:1px solid var(--color-mac-minimize-border)}.window-maximize{background-color:var(--color-mac-maximize);border:1px solid var(--color-mac-maximize-border)}.window-title{position:absolute;left:0;z-index:1;width:100%;color:var(--color-white);font-size:var(--font-size-titlebar);font-weight:700;text-align:center}.window-content{position:relative;display:flex;flex-direction:column;flex-grow:1;width:100%;height:calc(100% - 30px);overflow:visible}.live2d-container{position:relative;display:flex;align-items:center;justify-content:center;flex-grow:1;width:100%;height:100%;overflow:visible}#canvas-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}#live2d-canvas{display:block;width:100%;height:100%;margin:0 auto;transform:translateY(-2%)}.model-info{position:absolute;bottom:20px;left:20px;z-index:10;padding:8px 12px;border-radius:var(--radius-panel);background:var(--color-overlay-medium);color:var(--color-white);font-size:var(--font-size-model-info);font-weight:500}.model-name{opacity:.9}.loading-status,.error-status{font-size:.75rem;line-height:1.3}.volume-control{position:absolute;right:20px;bottom:20px;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:36px;height:150px;padding:8px 4px 4px;border-radius:20px;background:var(--color-overlay-soft)}input[type=range]#volume-slider{position:relative;top:40px;width:100px;height:20px;margin:0 0 10px;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer;transform:rotate(-90deg)}input[type=range]#volume-slider::-webkit-slider-runnable-track{height:4px;border:none;border-radius:2px;background:var(--color-slider-track)}input[type=range]#volume-slider::-moz-range-track{height:4px;border:none;border-radius:2px;background:var(--color-slider-track)}input[type=range]#volume-slider::-webkit-slider-thumb{width:12px;height:12px;margin-top:-4px;border:none;border-radius:var(--radius-control);-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-white);cursor:pointer}input[type=range]#volume-slider::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:var(--radius-control);background:var(--color-white);cursor:pointer}input[type=range]#volume-slider:focus{outline:none}.mute-button{position:relative;bottom:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-bottom:4px;padding:0;border:none;border-radius:var(--radius-control);background:transparent;box-shadow:none;color:var(--color-white);cursor:pointer;transition:background-color .2s ease}.mute-button:hover{background:var(--color-slider-hover)}.mute-button.muted:after{position:absolute;top:11px;left:1px;width:22px;height:2px;background-color:var(--color-white);content:"";transform:rotate(-45deg)}@media (max-width: 1024px){.facetime-window{width:90%;height:90%;max-height:none;border-width:2px}.live2d-container{height:100%;overflow:hidden}#live2d-canvas{transform:translateY(-3%)}}@media (max-width: 768px){.facetime-window{width:90%;height:90%;max-width:700px;margin:0 auto;border-width:2px;border-radius:var(--radius-window-tablet)}.live2d-showcase{display:flex;align-items:center;justify-content:center;min-height:400px;height:60vh;padding:1rem}.window-titlebar{height:25px;border-top-left-radius:12px;border-top-right-radius:12px}.window-content{height:calc(100% - 25px)}#live2d-canvas{transform:translateY(0)}.volume-control{right:15px;bottom:15px;width:30px;height:120px;padding:5px 3px 3px}input[type=range]#volume-slider{top:30px;width:80px;margin-bottom:8px}.model-info{bottom:15px;left:15px;padding:5px 10px;font-size:12px}.mute-button{margin-bottom:3px}}@media (max-width: 480px){.window-button{width:10px;height:10px}.window-titlebar{height:22px;border-top-left-radius:9px;border-top-right-radius:9px}.window-content{height:calc(100% - 22px)}.live2d-showcase{display:flex;align-items:center;justify-content:center;width:100%;min-height:300px;max-height:500px;height:50vh;padding:.75rem}.facetime-window{width:90%;height:90%;max-width:450px;margin:0 auto;border-width:1px;border-radius:var(--radius-window-mobile)}#live2d-canvas{transform:translateY(0)}.volume-control{right:10px;bottom:10px;width:26px;height:100px;padding:4px 2px 2px}input[type=range]#volume-slider{top:25px;width:70px;margin-bottom:5px}.mute-button{width:20px;height:20px;margin-bottom:2px}.mute-button.muted:after{top:9px;left:1px;width:18px}}
