@import"https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;600;700&family=Nunito:ital,wght@0,300;0,400;0,600;0,700;1,400&family=Zen+Maru+Gothic:wght@400;500;700&display=swap";:root{--prim-sakura-50: #FFF0F5;--prim-sakura-100: #FFE0EB;--prim-sakura-200: #FFBDD0;--prim-sakura-300: #FF99B8;--prim-sakura-400: #E8769A;--prim-sakura-500: #C8456A;--prim-sakura-600: #A83058;--prim-sakura-700: #882040;--prim-petal-50: #FFF8FA;--prim-petal-100: #FFF2F6;--prim-petal-200: #FFE8F0;--prim-petal-300: #FFD8E8;--prim-petal-400: #F8C8DA;--prim-petal-500: #F0B0C8;--prim-gold-50: #FFF8E8;--prim-gold-100: #FCECC0;--prim-gold-400: #E8A840;--prim-gold-500: #C88828;--prim-gold-600: #A86818;--prim-bark-800: #3C2018;--prim-bark-900: #281408;--prim-sky-100: #EEF4F8;--prim-sky-200: #DCE8F0;--prim-ink-800: #2A1828;--prim-ink-700: #3E2840;--prim-ink-600: #5A3858;--prim-ink-500: #7A5078;--prim-ink-400: #9A7098;--prim-ink-300: #BCA8C0;--prim-moon-950: #060410;--prim-moon-900: #0C0818;--prim-moon-800: #160E28;--prim-moon-700: #201838;--prim-white: #FFFFFF;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-2xl:28px;--radius-full:999px;--font-display: "Shippori Mincho", serif;--font-body: "Nunito", sans-serif;--font-label: "Zen Maru Gothic", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--ease-fast:.15s ease;--ease-normal:.25s ease;--ease-slow:.5s ease;--ease-theme:.45s ease;--z-base:1;--z-above:10;--z-nav:100;--z-modal:200}:root{--color-bg-page: #FEF6F9;--color-bg-surface: #FFFCFE;--color-bg-surface-2: #FFF0F5;--color-bg-surface-3: #FFE4EE;--color-bg-invert: var(--prim-ink-800);--color-text-primary: #2A1828;--color-text-secondary: #4A3048;--color-text-tertiary: #7A5078;--color-text-muted: #A888A8;--color-text-on-brand: var(--prim-white);--color-text-invert: #FFF0F5;--color-brand: #C8456A;--color-brand-hover: #A83058;--color-brand-subtle: #FFF0F5;--color-brand-subtle-2: #FFE0EB;--color-accent: #C88828;--color-accent-subtle: #FFF8E8;--color-border-subtle: rgba(200,69,106,.1);--color-border-default: rgba(200,69,106,.2);--color-border-strong: rgba(200,69,106,.38);--color-nav-bg: rgba(254,246,249,.97);--color-nav-border: rgba(232,118,154,.22);--hero-overlay: linear-gradient(180deg, rgba(254,246,249,.18) 0%, rgba(254,246,249,.08) 40%, rgba(254,246,249,.8) 76%, rgba(254,246,249,1) 100%);--game-hero-bg: linear-gradient(155deg,#2A0818 0%,#481020 40%,#381028 100%);--game-hero-text: #FFF0F5;--game-hero-text-sub: rgba(255,200,220,.6);--color-moon: #B87020;--color-moon-glow: rgba(200,136,40,.22);--moon-opacity: .16;--star-opacity: 0;--petal-color: rgba(232,100,140,.42);--shadow-sm: 0 1px 4px rgba(42,24,40,.07);--shadow-md: 0 4px 18px rgba(42,24,40,.09);--shadow-lg: 0 8px 36px rgba(42,24,40,.12);--shadow-brand: 0 4px 22px rgba(200,69,106,.3)}[data-theme=dark]{--color-bg-page: var(--prim-moon-950);--color-bg-surface: var(--prim-moon-900);--color-bg-surface-2: var(--prim-moon-800);--color-bg-surface-3: var(--prim-moon-700);--color-bg-invert: #030108;--color-text-primary: #F8F0FC;--color-text-secondary: #D0B8D8;--color-text-tertiary: #9870A8;--color-text-muted: #5C4068;--color-text-on-brand: var(--prim-white);--color-text-invert: var(--prim-moon-900);--color-brand: #F07898;--color-brand-hover: #D05878;--color-brand-subtle: rgba(240,120,152,.12);--color-brand-subtle-2: rgba(240,120,152,.22);--color-accent: #F0C870;--color-accent-subtle: rgba(240,200,112,.12);--color-border-subtle: rgba(160,100,230,.13);--color-border-default: rgba(170,110,240,.24);--color-border-strong: rgba(170,110,240,.48);--color-nav-bg: rgba(6,4,16,.94);--color-nav-border: rgba(160,110,235,.18);--hero-overlay: linear-gradient(180deg, rgba(6,4,16,.18) 0%, rgba(6,4,16,.1) 40%, rgba(6,4,16,.68) 76%, rgba(6,4,16,1) 100%);--game-hero-bg: linear-gradient(155deg,#0C1E16,#0E1A2E,#16103A);--game-hero-text: #F2ECF8;--game-hero-text-sub: rgba(200,180,220,.55);--color-moon: #F0C870;--color-moon-glow: rgba(240,200,112,.28);--moon-opacity: 1;--star-opacity: 1;--petal-color: rgba(240,120,152,.28);--shadow-sm: 0 1px 4px rgba(0,0,0,.3);--shadow-md: 0 4px 18px rgba(0,0,0,.42);--shadow-lg: 0 8px 36px rgba(0,0,0,.55);--shadow-brand: 0 4px 22px rgba(240,120,152,.28)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1rem;line-height:1.75;background:var(--color-bg-page);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background var(--ease-theme),color var(--ease-theme)}img{max-width:100%;display:block}button{cursor:pointer;font-family:var(--font-body)}a{color:inherit;text-decoration:none}p{line-height:1.85}h1,h2,h3,h4,h5{font-smooth:always;-webkit-font-smoothing:antialiased}.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}.grid-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.flex-center{display:flex;align-items:center;justify-content:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-body);font-weight:700;font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-full);padding:.65rem 1.6rem;border:none;transition:transform var(--ease-normal),box-shadow var(--ease-normal),background var(--ease-theme),color var(--ease-theme),border-color var(--ease-theme);white-space:nowrap;cursor:pointer}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-brand);color:var(--color-text-on-brand);box-shadow:var(--shadow-brand)}.btn-primary:hover:not(:disabled){background:var(--color-brand-hover);transform:translateY(-2px);box-shadow:0 6px 28px #c8456a61}.btn-outline{background:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border-default)}.btn-outline:hover{color:var(--color-brand);border-color:var(--color-brand);background:var(--color-brand-subtle)}.btn-ghost{background:transparent;color:var(--color-text-tertiary);border:none;padding:.4rem .8rem;font-size:var(--text-sm);text-transform:none;letter-spacing:0;font-weight:600}.btn-ghost:hover{color:var(--color-brand)}.btn-full{width:100%}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.28rem .85rem;border-radius:var(--radius-md);transition:all var(--ease-theme)}.badge-brand{color:var(--color-brand);background:var(--color-brand-subtle);border:1px solid var(--color-brand-subtle-2)}.badge-accent{color:var(--color-accent);background:var(--color-accent-subtle);border:1px solid rgba(200,136,40,.22)}.card{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);transition:background var(--ease-theme),border-color var(--ease-theme),transform var(--ease-normal),box-shadow var(--ease-normal)}.card-hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}[data-theme=light] .card-hover:hover{border-color:var(--color-brand-subtle-2)}.nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8);background:var(--color-nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-nav-border);transition:background var(--ease-theme),border-color var(--ease-theme)}.nav-links{display:flex;gap:1.6rem;align-items:center}.nav-controls{display:flex;align-items:center;gap:.65rem}.nav-link{font-size:var(--text-sm);font-weight:600;color:var(--color-text-tertiary);background:none;border:none;border-bottom:2px solid transparent;padding-bottom:2px;letter-spacing:.04em;transition:color var(--ease-normal),border-color var(--ease-normal)}.nav-link:hover,.nav-link.active{color:var(--color-brand);border-bottom-color:var(--color-brand)}.nav-link.active{font-weight:700}.nav-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:.5rem;cursor:pointer}.nav-hamburger span{display:block;width:22px;height:2px;background:var(--color-text-primary);border-radius:2px;transition:all .25s ease}.nav-mobile-menu{display:none;position:absolute;top:58px;left:0;right:0;background:var(--color-nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-nav-border);padding:1rem 1.5rem;flex-direction:column;gap:.75rem;animation:slideDown .2s ease;z-index:var(--z-nav)}.nav-mobile-menu.open{display:flex}.nav-mobile-link{text-align:left;padding:.65rem 0;border-bottom:1px solid var(--color-border-subtle);border-top:none;border-left:none;border-right:none;font-size:var(--text-base);font-weight:600;color:var(--color-text-secondary);background:none;transition:color var(--ease-normal)}.nav-mobile-link:hover,.nav-mobile-link.active{color:var(--color-brand)}.nav-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.theme-toggle{position:relative;width:44px;height:24px;border-radius:var(--radius-full);border:1.5px solid var(--color-border-default);background:var(--color-bg-surface-3);cursor:pointer;transition:background var(--ease-theme),border-color var(--ease-theme);flex-shrink:0}.theme-toggle-knob{position:absolute;width:18px;height:18px;border-radius:50%;top:1.5px;left:2px;background:var(--color-moon);box-shadow:0 0 6px var(--color-moon-glow);transition:transform var(--ease-normal),background var(--ease-theme)}[data-theme=dark] .theme-toggle-knob{transform:translate(20px)}.lang-toggle{display:flex;align-items:center;gap:1px;background:var(--color-bg-surface-2);border:1px solid var(--color-border-default);border-radius:var(--radius-full);padding:2px;transition:all var(--ease-theme)}.lang-btn{font-size:.6rem;font-weight:700;letter-spacing:.06em;padding:.2rem .55rem;border-radius:var(--radius-full);border:none;background:transparent;color:var(--color-text-tertiary);transition:all var(--ease-normal)}.lang-btn.active{background:var(--color-brand);color:var(--color-text-on-brand)}.hero{min-height:100vh;padding-top:58px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding-left:var(--space-8);padding-right:var(--space-8)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-image:var(--hero-bg-image);background-size:cover;background-position:center 35%}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:var(--hero-overlay);transition:background var(--ease-theme)}.hero-content{position:relative;z-index:5;max-width:560px;width:100%}.hero-moon{position:absolute;right:13%;top:9%;z-index:3;opacity:var(--moon-opacity);transition:opacity .6s ease;pointer-events:none}.hero-moon-disc{width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 36% 36%,#fffce8,#ffe090 42%,#ffc830 70%,#b07000);box-shadow:0 0 35px #ffd24652,0 0 90px #ffd2461f;animation:float 9s ease-in-out infinite}.hero-moon-ring{position:absolute;top:-28px;right:-28px;bottom:-28px;left:-28px;border-radius:50%;border:1px solid rgba(255,210,70,.14);animation:float 9s ease-in-out infinite}.hero-kuro{position:absolute;bottom:5rem;right:18%;z-index:4;font-size:2.4rem;-webkit-user-select:none;user-select:none;animation:float 6s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18));transition:filter var(--ease-theme)}[data-theme=dark] .hero-kuro{filter:drop-shadow(0 0 14px rgba(255,210,70,.28))}.star{position:absolute;border-radius:50%;background:#e8d8ff;pointer-events:none;z-index:2;opacity:var(--star-opacity);animation:twinkle ease-in-out infinite;transition:opacity .8s ease}.petal{position:absolute;top:-12px;border-radius:70% 30%;background:var(--petal-color);pointer-events:none;z-index:2;animation:petalFall linear infinite;transition:background var(--ease-theme)}.page-hero{background:var(--color-bg-surface-2);padding:5rem var(--space-8) var(--space-12);text-align:center;position:relative;overflow:hidden;border-bottom:1px solid var(--color-border-subtle);transition:background var(--ease-theme)}.page-hero h1{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,var(--text-3xl));font-weight:700;color:var(--color-text-primary);transition:color var(--ease-theme)}.page-hero p{font-size:var(--text-base);max-width:520px;margin:var(--space-3) auto 0;color:var(--color-text-tertiary);font-style:italic;font-weight:300;transition:color var(--ease-theme)}.section{max-width:920px;margin:0 auto;padding:var(--space-16) var(--space-8)}.section-sm{max-width:680px;margin:0 auto;padding:var(--space-12) var(--space-8)}.divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-8) auto;max-width:420px}.divider-line{flex:1;height:1px;background:var(--color-border-default);transition:background var(--ease-theme)}.divider-text{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-tertiary);letter-spacing:.2em;white-space:nowrap;transition:color var(--ease-theme)}.platform-badge{font-size:.72rem;font-weight:700;background:var(--color-bg-surface-2);border:1px solid var(--color-border-subtle);color:var(--color-text-tertiary);padding:.22rem .65rem;border-radius:var(--radius-md);transition:all var(--ease-theme)}.season-pill{font-size:var(--text-xs);font-weight:700;padding:.38rem .75rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-2);letter-spacing:.03em}.footer{background:var(--color-bg-invert);padding:var(--space-12) var(--space-8) var(--space-6);text-align:center;transition:background var(--ease-theme)}.special-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-8);background:var(--color-bg-page);transition:background var(--ease-theme)}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6)}.field label{font-size:var(--text-sm);font-weight:700;color:var(--color-text-secondary);transition:color var(--ease-theme)}.field input,.field textarea,.field select{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.5;background:var(--color-bg-surface);color:var(--color-text-primary);border:1.5px solid var(--color-border-default);border-radius:var(--radius-md);padding:.7rem var(--space-4);transition:border-color var(--ease-normal),background var(--ease-theme);outline:none;width:100%}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--color-brand)}.field textarea{resize:vertical;min-height:120px}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.news-card{display:flex;flex-direction:column;overflow:hidden;cursor:pointer}.news-card:hover .news-card-title{color:var(--color-brand)}.news-card-image-slot{width:100%;aspect-ratio:16/9;flex-shrink:0;overflow:hidden;background:var(--color-bg-surface-2);transition:background var(--ease-theme)}.news-card-image-strip{width:110px;min-width:110px;flex-shrink:0;overflow:hidden;background:var(--color-bg-surface-2);transition:background var(--ease-theme);align-self:stretch}.news-card-body{padding:var(--space-5) var(--space-6);flex:1}.news-card-title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-2);transition:color var(--ease-normal)}.news-card-excerpt{font-size:var(--text-sm);color:var(--color-text-tertiary);line-height:1.8;transition:color var(--ease-theme)}.social-post-card{display:flex;flex-direction:column;overflow:hidden}.social-post-image-slot{width:100%;aspect-ratio:1/1;flex-shrink:0;overflow:hidden;background:var(--color-bg-surface-2);transition:background var(--ease-theme)}.social-post-image-strip{width:90px;min-width:90px;flex-shrink:0;overflow:hidden;align-self:stretch;background:var(--color-bg-surface-2);transition:background var(--ease-theme)}.search-bar{display:flex;align-items:center;gap:var(--space-2);background:var(--color-bg-surface);border:1.5px solid var(--color-border-default);border-radius:var(--radius-full);padding:.5rem 1rem;transition:border-color var(--ease-normal),background var(--ease-theme)}.search-bar:focus-within{border-color:var(--color-brand)}.search-bar input{flex:1;background:none;border:none;outline:none;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary)}.search-bar input::placeholder{color:var(--color-text-muted)}.filter-pills{display:flex;gap:.4rem;flex-wrap:wrap}.filter-pill{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;padding:.3rem .85rem;border-radius:var(--radius-full);border:1.5px solid var(--color-border-default);background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--ease-normal)}.filter-pill:hover,.filter-pill.active{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-text-on-brand)}.filter-toggle-btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;padding:.45rem 1rem;border-radius:var(--radius-full);border:1.5px solid var(--color-border-default);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--ease-normal);white-space:nowrap}.filter-toggle-btn:hover,.filter-toggle-btn.active{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-brand-subtle)}.filter-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-brand);color:var(--color-text-on-brand);font-size:.62rem;font-weight:800;padding:0 .35rem}.filter-panel{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);padding:var(--space-6);margin-top:var(--space-3);animation:scaleIn .2s ease;transition:background var(--ease-theme),border-color var(--ease-theme)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}.skip-link{position:absolute;top:-100px;left:var(--space-4);z-index:calc(var(--z-nav) + 10);background:var(--color-brand);color:var(--color-text-on-brand);padding:.6rem 1.2rem;border-radius:var(--radius-full);font-weight:700;font-size:var(--text-sm);transition:top .15s ease}.skip-link:focus{top:var(--space-3);outline:2px solid var(--color-text-on-brand);outline-offset:3px}:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}@supports not (backdrop-filter:blur(1px)){.nav,.nav-mobile-menu{background:var(--color-bg-page)!important}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatSlow{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-14px) rotate(2deg)}}@keyframes twinkle{0%,to{opacity:.12;transform:scale(1)}50%{opacity:1;transform:scale(1.8)}}@keyframes petalFall{0%{transform:translateY(-10px) rotate(0);opacity:0}8%{opacity:.65}90%{opacity:.25}to{transform:translateY(105vh) translate(50px) rotate(480deg);opacity:0}}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.5);opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:900px){.grid-2col{grid-template-columns:1fr}.grid-3col{grid-template-columns:repeat(2,1fr)}.section{padding:var(--space-12) var(--space-6)}}@media (max-width:768px){.nav{padding:0 var(--space-4)}.nav-links{display:none}.nav-hamburger{display:flex}.hero{padding-left:var(--space-4);padding-right:var(--space-4)}.hero-kuro,.hero-moon{display:none}.section,.section-sm{padding:var(--space-8) var(--space-4)}.page-hero{padding:4.5rem var(--space-4) var(--space-8)}.grid-2col,.grid-3col{grid-template-columns:1fr;gap:var(--space-6)}.footer{padding:var(--space-8) var(--space-4) var(--space-4)}}@media (max-width:480px){.btn{padding:.55rem 1.1rem;font-size:var(--text-xs)}.hero-btn-group{flex-direction:column;align-items:center}.badge{font-size:.65rem;padding:.22rem .65rem}.card{border-radius:var(--radius-lg)}.news-card-image-strip{width:80px;min-width:80px}}
