:root{--bg: #faf7f3;--bg-2: #f4eee7;--paper: #fffdfa;--ink: #23201d;--ink-dim: #6f6660;--ink-faint: #a89e95;--rose: #c0758c;--rose-deep: #a25a73;--blush: #f0dde2;--blush-soft: #f7ebee;--gold: #b49b6c;--line: rgba(35, 32, 29, .14);--line-soft: rgba(35, 32, 29, .08);--shadow-soft: 0 30px 70px -40px rgba(90, 55, 65, .35);--shadow-faint: 0 16px 44px -28px rgba(90, 55, 65, .25);--radius-lg: 10px;--radius-md: 6px;--radius-sm: 3px;--font-display: "Cormorant Garamond", "Shippori Mincho", serif;--font-en: "Jost", sans-serif;--font-jp: "Shippori Mincho", serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 32px;--spacing-xl: 64px;--mp-pink: var(--rose);--mp-pink-dim: var(--rose-deep);--mp-lavender: var(--blush);--mp-white: var(--paper);--mp-text: var(--ink);--mp-text-light: var(--ink-dim);--mp-accent: var(--gold);--mp-overlay: rgba(250, 247, 243, .8)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-jp);background-color:var(--bg);color:var(--ink);line-height:1.9;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;background:radial-gradient(40% 34% at 16% 18%,rgba(240,221,226,.55) 0%,transparent 70%),radial-gradient(36% 32% at 86% 24%,rgba(180,155,108,.13) 0%,transparent 70%),radial-gradient(40% 36% at 70% 86%,rgba(192,117,140,.12) 0%,transparent 70%);animation:washDrift 40s ease-in-out infinite alternate}@keyframes washDrift{0%{transform:translate(0) scale(1)}to{transform:translate(2%,-2%) scale(1.06)}}body:after{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");opacity:.035;mix-blend-mode:multiply}h1,h2,h3,h4,h5,h6{font-weight:500;letter-spacing:.01em}a{text-decoration:none;color:inherit;transition:color .5s var(--ease-out),opacity .5s var(--ease-out)}::selection{background:var(--blush);color:var(--ink)}img{max-width:100%}.font-jp{font-family:var(--font-jp)}.font-en{font-family:var(--font-en)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 38px;border-radius:999px;font-family:var(--font-en);font-weight:400;font-size:.76rem;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:color .6s var(--ease-out),background-color .6s var(--ease-out),border-color .6s var(--ease-out),box-shadow .6s var(--ease-out),transform .6s var(--ease-out)}.btn-primary{background:var(--ink);color:var(--bg);border:1px solid var(--ink)}.btn-primary:hover{background:var(--rose-deep);border-color:var(--rose-deep);box-shadow:var(--shadow-faint);transform:translateY(-2px);opacity:1}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-ghost:hover{border-color:var(--ink);background:var(--paper);transform:translateY(-2px);opacity:1}@keyframes lineGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--ink-faint);border-radius:99px;border:2px solid var(--bg)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.nav-shell{position:fixed;top:0;left:0;width:100%;z-index:1000}.navbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 clamp(20px,4vw,48px);height:76px;background:#faf7f3d1;backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%);border-bottom:1px solid var(--line-soft);transition:background-color .6s var(--ease-out),border-color .6s var(--ease-out)}.navbar:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(192,117,140,.55) 1px,transparent 1.6px),radial-gradient(rgba(180,155,108,.5) 1px,transparent 1.6px);background-size:26px 26px;background-position:0 0,13px 13px;opacity:.07;pointer-events:none;transition:opacity .6s var(--ease-out)}.navbar:after{content:"";position:absolute;left:50%;bottom:-1px;transform:translate(-50%);width:min(340px,38%);height:1px;background:linear-gradient(90deg,transparent,var(--gold) 28%,var(--rose) 50%,var(--gold) 72%,transparent);background-size:200% 100%;animation:ornShimmer 8s ease-in-out infinite;pointer-events:none;transition:opacity .6s var(--ease-out)}@keyframes ornShimmer{0%,to{background-position:0% 0}50%{background-position:100% 0}}.nav-shell.menu-open .navbar{background:#faf7f3f5;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}.nav-shell.menu-open .navbar:before,.nav-shell.menu-open .navbar:after,.nav-shell.menu-open .nav-ornament{opacity:0}.nav-ornament{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;pointer-events:none;transition:opacity .6s var(--ease-out)}.orn-line{width:clamp(50px,11vw,150px);height:1px}.orn-line.left{background:linear-gradient(90deg,transparent,var(--line))}.orn-line.right{background:linear-gradient(270deg,transparent,var(--line))}.orn-diamond{width:5px;height:5px;border:1px solid var(--gold);transform:rotate(45deg);background:transparent}.orn-bloom{font-size:.92rem;line-height:1;color:var(--rose);animation:bloomSpin 26s linear infinite}@keyframes bloomSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:720px){.nav-ornament{display:none}}.nav-logo{display:flex;align-items:center;flex-shrink:0}.logo-img{height:44px;width:auto;transition:transform .8s var(--ease-out)}.nav-logo:hover .logo-img{transform:scale(1.05)}.menu-toggle{display:inline-flex;align-items:center;gap:14px;background:transparent;border:none;cursor:pointer;padding:10px 0;color:var(--ink)}.menu-toggle-label{font-size:.68rem;font-weight:400;letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);transition:color .5s var(--ease-out);min-width:52px;text-align:right}.menu-toggle:hover .menu-toggle-label{color:var(--ink)}.menu-icon{position:relative;width:26px;height:12px;display:inline-block}.menu-icon span{position:absolute;left:0;width:100%;height:1px;background:var(--ink);transition:transform .6s var(--ease-out),top .6s var(--ease-out)}.menu-icon span:first-child{top:1px}.menu-icon span:last-child{top:11px}.menu-toggle.open .menu-icon span:first-child{top:6px;transform:rotate(45deg)}.menu-toggle.open .menu-icon span:last-child{top:6px;transform:rotate(-45deg)}.menu-toggle:hover .menu-icon span:first-child{transform:translateY(-1px)}.menu-toggle:hover .menu-icon span:last-child{transform:translateY(1px)}.menu-toggle.open:hover .menu-icon span:first-child{transform:rotate(45deg)}.menu-toggle.open:hover .menu-icon span:last-child{transform:rotate(-45deg)}.nav-overlay{position:fixed;inset:0;z-index:1;background:#faf7f3f5;backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:100px 24px 60px;overflow-y:auto}.overlay-enso{position:absolute;top:50%;left:50%;width:min(64vmin,560px);height:min(64vmin,560px);margin:calc(min(64vmin,560px)/-2) 0 0 calc(min(64vmin,560px)/-2);border:1px solid var(--line-soft);border-radius:50%;pointer-events:none;animation:ensoBreath 8s ease-in-out infinite alternate}@keyframes ensoBreath{0%{transform:scale(.98);opacity:.7}to{transform:scale(1.02);opacity:1}}.overlay-vertical{position:absolute;right:clamp(20px,6vw,80px);top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:.78rem;letter-spacing:.65em;color:var(--ink-faint);border-left:1px solid var(--line-soft);padding-left:18px;pointer-events:none}.overlay-eyebrow{display:inline-flex;align-items:center;gap:16px;font-size:.6rem;letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:clamp(20px,4vh,40px)}.overlay-eyebrow:before,.overlay-eyebrow:after{content:"";width:36px;height:1px;background:var(--gold)}.overlay-nav{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(2px,1vh,10px);position:relative;z-index:2}.overlay-nav>div{align-self:stretch}.overlay-link{display:flex;align-items:baseline;gap:18px;padding:clamp(2px,.8vh,8px) 14px;transition:transform .6s var(--ease-out)}.overlay-link:hover{transform:translate(6px);opacity:1}.overlay-link-index{font-size:.62rem;letter-spacing:.22em;color:var(--gold);min-width:26px;text-align:right}.overlay-link-label{font-family:var(--font-display);font-weight:300;font-size:clamp(2rem,5.6vh,3.2rem);line-height:1.25;letter-spacing:.03em;color:var(--ink);transition:color .5s var(--ease-out)}.overlay-link:hover .overlay-link-label,.overlay-link.active .overlay-link-label{color:var(--rose-deep);font-style:italic}.overlay-link-jp{font-size:.68rem;letter-spacing:.3em;color:var(--ink-faint);white-space:nowrap}.overlay-link.cta{margin-top:clamp(10px,2.4vh,22px);padding-top:clamp(12px,2.6vh,24px);border-top:1px solid var(--line-soft)}.overlay-link.cta .overlay-link-index{color:var(--rose)}.overlay-footer{margin-top:clamp(24px,5vh,48px);font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);position:relative;z-index:2}@media(max-width:900px){.overlay-vertical{display:none}}@media(max-width:720px){.navbar{height:64px}.logo-img{height:36px}.overlay-link{gap:12px}.overlay-link-jp{display:none}}.layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding-top:108px}.footer{position:relative;margin-top:var(--spacing-xl);padding:90px 0 56px;overflow:hidden;border-top:1px solid var(--line-soft);background:var(--bg-2)}.footer-glow{position:absolute;left:50%;bottom:-180px;transform:translate(-50%);width:760px;height:340px;background:radial-gradient(50% 50% at 50% 50%,rgba(240,221,226,.7) 0%,transparent 75%);pointer-events:none}.footer-inner{position:relative;text-align:center}.footer-word{font-family:var(--font-display);font-weight:400;font-size:clamp(2.2rem,6vw,4.4rem);letter-spacing:.14em;text-indent:.14em;line-height:1.1;color:var(--ink)}.footer-tag{margin-top:18px;color:var(--ink-dim);letter-spacing:.42em;text-indent:.42em;font-size:.8rem}.footer-copy{margin-top:44px;color:var(--ink-faint);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase}.hero{min-height:100vh;min-height:100svh;width:100%;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;margin-top:-108px;padding:130px 16px 170px}.hero-wash{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;will-change:transform}.wash-1{width:52vw;height:52vw;min-width:460px;min-height:460px;top:-16%;left:-12%;background:radial-gradient(circle at 40% 40%,rgba(240,221,226,.85),transparent 65%);animation:washFloat1 28s ease-in-out infinite alternate}.wash-2{width:40vw;height:40vw;min-width:380px;min-height:380px;bottom:-14%;right:-10%;background:radial-gradient(circle at 55% 45%,rgba(180,155,108,.22),transparent 65%);animation:washFloat2 34s ease-in-out infinite alternate}@keyframes washFloat1{to{transform:translate(5vw,6vh) scale(1.08)}}@keyframes washFloat2{to{transform:translate(-4vw,-5vh) scale(1.1)}}.hero-enso{position:absolute;top:50%;left:50%;width:min(72vw,680px);height:min(72vw,680px);margin:calc(min(72vw,680px)/-2) 0 0 calc(min(72vw,680px)/-2);border:1px solid var(--line-soft);border-radius:50%;animation:ensoSpin 90s linear infinite;pointer-events:none}.enso-mark{position:absolute;top:-3px;left:50%;width:5px;height:5px;border-radius:50%;background:var(--gold)}@keyframes ensoSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-vertical{position:absolute;right:clamp(20px,6vw,80px);top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-size:.82rem;letter-spacing:.65em;color:var(--ink-faint);border-left:1px solid var(--line-soft);padding-left:18px;z-index:2}.hero-content{z-index:2;text-align:center;position:relative}.hero-eyebrow{display:inline-flex;align-items:center;gap:18px;font-size:.66rem;font-weight:400;letter-spacing:.5em;text-indent:.5em;color:var(--ink-faint);text-transform:uppercase;margin-bottom:40px}.hero-eyebrow:before,.hero-eyebrow:after{content:"";width:44px;height:1px;background:var(--line)}.hero-title{font-family:var(--font-display);font-weight:300;font-size:clamp(3.2rem,min(12.5vw,17vh),9.5rem);line-height:.98;letter-spacing:.02em;display:flex;flex-direction:column;align-items:center;color:var(--ink)}.hero-title-accent{font-style:italic;font-weight:400;color:var(--rose-deep);padding-right:.06em}.hero-divider{width:72px;height:1px;background:var(--gold);margin:38px auto 0;transform-origin:center}.hero-subtitle{margin-top:30px;font-size:clamp(.85rem,2vw,1.05rem);color:var(--ink-dim);letter-spacing:.6em;text-indent:.6em;font-weight:400}.hero-actions{margin-top:52px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.hero-marquee{position:absolute;bottom:0;left:0;width:100%;padding:16px 0;border-top:1px solid var(--line-soft);background:#faf7f399;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden;z-index:3}.hero-marquee-track{display:flex;width:max-content;animation:marqueeScroll 70s linear infinite}.hero-marquee-track span{font-family:var(--font-display);font-style:italic;font-size:.95rem;letter-spacing:.22em;white-space:nowrap;color:var(--ink-faint)}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.hero-scroll-cue{position:absolute;bottom:84px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:.6rem;letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;color:var(--ink-faint);z-index:3}.scroll-line{width:1px;height:44px;background:linear-gradient(var(--ink-faint),transparent);animation:scrollHint 2.6s var(--ease-out) infinite;transform-origin:top}@keyframes scrollHint{0%,to{transform:scaleY(.25);opacity:.4}50%{transform:scaleY(1);opacity:1}}@media(max-width:900px){.hero-vertical{display:none}}@media(max-height:820px){.hero-eyebrow{margin-bottom:22px}.hero-divider{margin-top:24px}.hero-subtitle{margin-top:18px}.hero-actions{margin-top:30px}.hero-scroll-cue{display:none}}@media(max-width:768px){.hero-scroll-cue{display:none}.hero-actions{gap:10px}}.section-container{padding:calc(var(--spacing-xl) + 16px) 0;position:relative}.section-header{max-width:1200px;margin:0 auto calc(var(--spacing-xl) + 8px);padding:0 var(--spacing-md);display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}.section-eyebrow{display:inline-flex;align-items:center;gap:16px;font-size:.64rem;font-weight:400;letter-spacing:.5em;text-indent:.5em;text-transform:uppercase;color:var(--ink-faint)}.eyebrow-dot{display:inline-block;width:36px;height:1px;background:var(--gold)}.section-eyebrow:after{content:"";width:36px;height:1px;background:var(--gold)}.section-title{font-family:var(--font-display);font-weight:300;font-size:clamp(2.6rem,6.5vw,4.6rem);line-height:1.05;letter-spacing:.03em;color:var(--ink)}.home-page{width:100%;overflow-x:hidden}.intro-section{text-align:center}.intro-text{text-align:center;font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:2.6;font-weight:400;letter-spacing:.14em;color:var(--ink);margin-top:var(--spacing-md);padding:0 var(--spacing-md)}.intro-text .mt-4{margin-top:var(--spacing-lg);font-family:var(--font-display);font-style:italic;font-size:1.05rem;letter-spacing:.12em;color:var(--ink-faint);text-transform:none}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;grid-auto-flow:dense;gap:18px;padding:0 var(--spacing-md);max-width:1200px;margin:0 auto}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-md);background:var(--paper);border:1px solid var(--line-soft);padding:10px;transition:box-shadow .8s var(--ease-out),border-color .8s var(--ease-out)}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-item:nth-child(4){grid-column:span 2}.gallery-item:hover{border-color:var(--line);box-shadow:var(--shadow-soft)}.gallery-image{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm);transition:transform 1.6s var(--ease-out),filter 1s var(--ease-out)}.gallery-item:hover .gallery-image{transform:scale(1.035)}@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;gap:12px}}.news-list{max-width:820px;margin:0 auto;padding:0 var(--spacing-md);border-top:1px solid var(--line-soft)}.news-item{display:flex;align-items:baseline;gap:var(--spacing-lg);padding:26px 8px;border-bottom:1px solid var(--line-soft);cursor:pointer;position:relative;transition:padding-left .6s var(--ease-out),background-color .6s var(--ease-out)}.news-item:hover{padding-left:22px;background:var(--blush-soft)}.news-date{font-family:var(--font-en);font-weight:400;font-size:.72rem;letter-spacing:.22em;color:var(--gold);min-width:110px;text-transform:uppercase}.news-content{flex:1;font-weight:500;letter-spacing:.06em;color:var(--ink);transition:color .5s var(--ease-out)}.news-item:hover .news-content{color:var(--rose-deep)}@media(max-width:600px){.news-item{flex-direction:column;gap:6px}}.news-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#faf7f3d1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:2000;display:flex;justify-content:center;align-items:center;padding:var(--spacing-md)}.news-modal-content{background:var(--paper);width:100%;max-width:700px;max-height:85vh;border-radius:var(--radius-lg);position:relative;box-shadow:var(--shadow-soft);border:1px solid var(--line-soft);display:flex;flex-direction:column;overflow:hidden}.news-close-button{position:absolute;top:16px;right:16px;background:transparent;border:1px solid var(--line);font-size:1.3rem;color:var(--ink-dim);cursor:pointer;line-height:1;z-index:10;width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:all .5s var(--ease-out)}.news-close-button:hover{border-color:var(--ink);color:var(--ink);transform:rotate(90deg)}.news-modal-body{padding:52px;overflow-y:auto}.news-modal-date{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}.news-modal-title{font-family:var(--font-display);font-weight:400;font-size:1.9rem;color:var(--ink);margin-bottom:28px;line-height:1.3}.news-modal-text{line-height:2.2;color:var(--ink-dim);margin-bottom:44px;white-space:pre-wrap}.news-comments-section{border-top:1px solid var(--line-soft);padding-top:32px}.comments-header{font-size:.66rem;font-weight:400;letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:22px}.comment-item{background:var(--bg);border-radius:var(--radius-md);padding:18px;margin-bottom:14px;border:1px solid var(--line-soft)}.comment-user{font-family:var(--font-en);font-weight:500;color:var(--ink-dim);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}.comment-text{font-size:.95rem;color:var(--ink-dim);margin-bottom:12px}.idol-reply{background:var(--blush-soft);border-radius:var(--radius-md);padding:14px;display:flex;gap:12px;align-items:flex-start;margin-top:10px;border-left:2px solid var(--rose)}.idol-avatar-container{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid var(--line)}.idol-avatar{width:100%;height:100%;object-fit:cover}.reply-content{flex:1}.idol-name{font-family:var(--font-en);font-size:.74rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px}.reply-text{font-size:.9rem;color:var(--ink)}.member-card{--mc: var(--rose);width:280px;padding:12px 12px 30px;border-radius:var(--radius-lg);background:var(--paper);border:1px solid var(--line-soft);text-align:center;cursor:pointer;position:relative;transition:box-shadow .7s var(--ease-out),border-color .7s var(--ease-out)}.member-card:hover{border-color:var(--line);box-shadow:var(--shadow-soft)}.member-image-shell{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1;margin-bottom:24px}.member-image{width:100%;height:100%;display:flex;justify-content:center;align-items:center;overflow:hidden;background:var(--bg-2)}.member-photo{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}.member-card:hover .member-photo{transform:scale(1.045)}.member-initial{font-size:4rem;color:var(--ink-faint);font-family:var(--font-display)}.member-role-chip{display:inline-flex;align-items:center;gap:8px;font-size:.6rem;font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:12px}.member-role-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mc)}.member-name-en{font-family:var(--font-display);font-size:1.9rem;font-weight:400;letter-spacing:.04em;color:var(--ink);margin-bottom:4px;line-height:1.2}.member-name-jp{font-size:.85rem;color:var(--ink-dim);letter-spacing:.12em;margin-bottom:14px}.member-concept{font-family:var(--font-display);font-style:italic;font-size:.9rem;color:var(--ink-faint);letter-spacing:.04em}.member-card:after{content:"";position:absolute;bottom:0;left:12%;width:76%;height:1px;background:var(--mc);transform:scaleX(0);transform-origin:center;transition:transform .8s var(--ease-out)}.member-card:hover:after{transform:scaleX(1)}.members-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);max-width:1240px;margin:0 auto;padding:0 var(--spacing-md);justify-items:center}.member-card-wrapper{cursor:pointer}.member-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#faf7f3d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:2000;display:flex;justify-content:center;align-items:center;padding:var(--spacing-md)}.member-modal-content{background:var(--paper);width:100%;max-width:1000px;height:80vh;border-radius:var(--radius-lg);position:relative;box-shadow:var(--shadow-soft);border:1px solid var(--line-soft);overflow:hidden}.member-close-button{position:absolute;top:20px;right:20px;background:#fffdfacc;border:1px solid var(--line);font-size:1.4rem;color:var(--ink-dim);cursor:pointer;z-index:10;width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:all .5s var(--ease-out)}.member-close-button:hover{border-color:var(--ink);color:var(--ink);transform:rotate(90deg)}.member-modal-grid{display:grid;grid-template-columns:1fr 1.2fr;height:100%}.member-modal-image-col{background:radial-gradient(70% 60% at 50% 60%,rgba(240,221,226,.55) 0%,transparent 80%),var(--bg-2);height:100%;display:flex;justify-content:center;align-items:center;padding:28px}.member-sitting-image{max-height:100%;max-width:100%;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--line-soft);transform:rotate(-1.5deg);box-shadow:var(--shadow-faint);transition:transform .9s var(--ease-out)}.member-sitting-image:hover{transform:rotate(0) scale(1.015)}.member-modal-info-col{padding:60px;overflow-y:auto;display:flex;flex-direction:column;justify-content:center}.member-modal-header{border-bottom:1px solid;padding-bottom:22px;margin-bottom:30px}.member-modal-name{font-family:var(--font-display);font-size:clamp(2.6rem,5vw,4rem);font-weight:300;margin:0;line-height:1;letter-spacing:.02em}.member-modal-jp-name{font-size:1.15rem;color:var(--ink-dim);letter-spacing:.18em;margin-top:12px}.member-modal-role{display:inline-block;padding:7px 18px;border-radius:999px;color:#fff;font-size:.62rem;font-weight:500;margin-top:16px;letter-spacing:.28em;text-indent:.1em;text-transform:uppercase}.member-modal-concept{font-family:var(--font-display);font-size:1.4rem;font-style:italic;font-weight:400;color:var(--ink-dim);margin-bottom:30px;letter-spacing:.03em}.member-modal-intro p{font-size:1rem;line-height:2.3;color:var(--ink-dim);margin-bottom:1em}.member-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.6rem;background:var(--bg);padding:1.3rem;border-radius:var(--radius-md);border:1px solid var(--line-soft)}.profile-item{display:flex;flex-direction:column}.profile-item.full-width{grid-column:span 2}.profile-item .label{font-family:var(--font-en);font-size:.6rem;color:var(--gold);text-transform:uppercase;letter-spacing:.3em;margin-bottom:.35rem}.profile-item .value{font-size:.95rem;color:var(--ink);font-weight:500}@media(max-width:768px){.member-modal-grid{grid-template-columns:1fr;overflow-y:auto}.member-modal-image-col{height:60%;padding:36px}.member-modal-info-col{padding:30px;justify-content:flex-start}.member-modal-name{font-size:2.5rem}}.schedule-table-container{max-width:1000px;margin:0 auto;padding:0 var(--spacing-md);overflow-x:auto}.schedule-table{width:100%;border-collapse:collapse;text-align:left}.schedule-table th{padding:0 var(--spacing-md) 16px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.34em;font-size:.62rem;font-weight:400;border-bottom:1px solid var(--line)}.schedule-table td{padding:26px var(--spacing-md);color:var(--ink);border-bottom:1px solid var(--line-soft);transition:background-color .6s var(--ease-out)}.schedule-table tr:hover td{background:var(--blush-soft)}.date-col{white-space:nowrap;font-family:var(--font-en);font-weight:400;font-size:.82rem;letter-spacing:.16em;color:var(--ink-dim)}.date-col .time{font-weight:300;color:var(--ink-faint);margin-left:10px;font-size:.9em}.title-col{font-weight:500;letter-spacing:.05em}.venue-col{color:var(--ink-dim);font-size:.92rem}.status-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-en);font-size:.64rem;font-weight:400;text-transform:uppercase;letter-spacing:.26em;white-space:nowrap;color:var(--ink-dim)}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-badge.on-sale{color:var(--rose-deep)}.status-badge.few-left{color:var(--gold)}.status-badge.coming-soon{color:var(--ink-dim)}.status-badge.completed{color:var(--ink-faint)}@media(max-width:768px){.schedule-table thead{display:none}.schedule-table,.schedule-table tbody{display:block}.schedule-table tr{display:flex;flex-direction:column;margin-bottom:var(--spacing-md);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--paper)}.schedule-table td{border:none;padding:5px 4px;background:transparent}.schedule-table tr:hover td{background:transparent}}.diary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.diary-card{background:var(--paper);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-soft);cursor:pointer;transition:transform .8s var(--ease-out),box-shadow .8s var(--ease-out),border-color .8s var(--ease-out)}.diary-card:hover{transform:translateY(-5px);border-color:var(--line);box-shadow:var(--shadow-soft)}.diary-image-container{width:100%;aspect-ratio:4/3;overflow:hidden;position:relative}.diary-image{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease-out)}.diary-card:hover .diary-image{transform:scale(1.04)}.diary-date-badge{position:absolute;top:14px;right:14px;background:#fffdfae0;border:1px solid var(--line-soft);padding:5px 14px;border-radius:999px;font-size:.64rem;color:var(--ink-dim);font-weight:400;letter-spacing:.2em;text-transform:uppercase;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.diary-content-container{padding:26px}.diary-title{font-size:1.15rem;font-weight:600;letter-spacing:.06em;margin-bottom:8px;color:var(--ink)}.diary-author{font-family:var(--font-en);font-size:.6rem;color:var(--gold);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.3em;border-bottom:1px solid var(--line-soft);padding-bottom:12px}.diary-preview{font-size:.9rem;color:var(--ink-dim);line-height:2;margin-bottom:var(--spacing-md)}.read-more{font-family:var(--font-en);font-size:.62rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;text-align:right;color:var(--rose-deep);transition:letter-spacing .6s var(--ease-out)}.diary-card:hover .read-more{letter-spacing:.42em}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#faf7f3d9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:2000;display:flex;justify-content:center;align-items:center;padding:var(--spacing-md)}.modal-content{background:var(--paper);width:100%;max-width:800px;max-height:90vh;border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid var(--line-soft);display:flex;flex-direction:column}.close-button{position:absolute;top:14px;right:14px;background:#fffdfad9;border:1px solid var(--line);width:40px;height:40px;border-radius:50%;font-size:1.3rem;color:var(--ink-dim);cursor:pointer;z-index:10;display:flex;justify-content:center;align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:all .5s var(--ease-out)}.close-button:hover{color:var(--ink);border-color:var(--ink);transform:rotate(90deg)}.modal-scroll{overflow-y:auto;flex:1}.modal-header{position:relative;width:100%;height:400px}.modal-image{width:100%;height:100%;object-fit:cover}.modal-date{position:absolute;bottom:20px;right:20px;background:#fffdfae0;border:1px solid var(--line-soft);padding:6px 16px;border-radius:999px;font-weight:400;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.modal-body{padding:var(--spacing-xl)}.modal-title{font-family:var(--font-display);font-size:1.8rem;font-weight:400;color:var(--ink);margin-bottom:var(--spacing-sm)}.modal-author{font-family:var(--font-en);font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--line-soft);padding-bottom:var(--spacing-sm)}.modal-text p{font-size:1rem;line-height:2.3;color:var(--ink-dim);margin-bottom:var(--spacing-md);white-space:pre-wrap}@media(max-width:768px){.modal-header{height:250px}.modal-body{padding:var(--spacing-md)}.modal-title{font-size:1.4rem}}.discography-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:36px;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);align-items:start}.album-card{background:var(--paper);border-radius:var(--radius-lg);padding:14px 14px 24px;border:1px solid var(--line-soft);cursor:pointer;transition:transform .8s var(--ease-out),box-shadow .8s var(--ease-out),border-color .8s var(--ease-out)}.album-card:hover{transform:translateY(-5px);border-color:var(--line);box-shadow:var(--shadow-soft)}.album-cover-container{width:100%;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;margin-bottom:22px;position:relative}.album-cover{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease-out)}.album-card:hover .album-cover{transform:scale(1.035)}.album-overlay{position:absolute;inset:0;background:#faf7f373;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .7s var(--ease-out)}.album-card:hover .album-overlay{opacity:1}.view-lyrics-btn{color:var(--ink);border:1px solid var(--ink);padding:11px 26px;border-radius:999px;font-size:.64rem;font-weight:400;letter-spacing:.3em;text-indent:.1em;text-transform:uppercase;background:#fffdfad9}.album-info{text-align:center;padding-bottom:6px}.album-type{font-size:.58rem;font-weight:400;color:var(--gold);margin-bottom:10px;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase}.album-title{font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:var(--ink);margin-bottom:8px;letter-spacing:.03em}.album-date{font-size:.72rem;color:var(--ink-faint);letter-spacing:.2em}.lyrics-container{overflow:hidden;margin-top:var(--spacing-md);border-top:1px solid var(--line-soft);padding-top:var(--spacing-md)}.lyrics-content{text-align:center;font-size:.95rem;line-height:2.4;color:var(--ink-dim);white-space:pre-wrap;background:var(--blush-soft);border:1px solid var(--line-soft);padding:var(--spacing-lg);border-radius:var(--radius-md)}.chat-container-wrapper{max-width:800px;margin:0 auto;background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-faint);overflow:hidden;border:1px solid var(--line-soft)}.chat-header{background:#fffdfaeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:26px 20px;text-align:center;border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:10}.chat-header h2{font-family:var(--font-display);font-weight:400;color:var(--ink);font-size:1.6rem;letter-spacing:.04em;margin-bottom:6px}.chat-subtitle{color:var(--ink-faint);font-size:.62rem;letter-spacing:.34em;text-transform:uppercase}.chat-body{padding:34px 30px;display:flex;flex-direction:column;gap:26px;background-image:radial-gradient(rgba(192,117,140,.07) 1px,transparent 1.5px);background-size:26px 26px;background-color:var(--bg)}.chat-message{display:flex;gap:14px;max-width:85%}.chat-message.right{align-self:flex-end;flex-direction:row-reverse;text-align:right}.chat-message.right .message-content{align-items:flex-end}.avatar-wrapper{flex-shrink:0}.chat-avatar{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);box-shadow:var(--shadow-faint);object-fit:cover}.message-content{display:flex;flex-direction:column;gap:6px}.sender-name{font-size:.62rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;margin-left:6px}.chat-message.right .sender-name{margin-right:6px}.message-bubble{background:var(--paper);border:1px solid var(--line-soft);padding:14px 18px;border-radius:var(--radius-lg);border-top-left-radius:var(--radius-sm);font-size:.92rem;line-height:1.9;color:var(--ink);position:relative;white-space:pre-wrap;box-shadow:0 6px 18px -12px #5a374133}.chat-message.right .message-bubble{background:var(--blush);border-color:transparent;color:var(--ink);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-sm)}.message-image-container{max-width:300px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:5px;border:1px solid var(--line-soft);box-shadow:var(--shadow-faint)}.message-image{width:100%;height:auto;display:block}.group-message{align-self:center;margin:22px 0}.group-bubble{background:var(--paper);color:var(--rose-deep);border:1px solid var(--line);border-radius:999px;padding:11px 36px;font-weight:500;text-align:center;font-size:.95rem;letter-spacing:.14em}@media(max-width:600px){.chat-message{max-width:95%}.message-image-container{max-width:220px}}.games-page{width:100%;min-height:calc(100vh - 60px);background:radial-gradient(60% 50% at 50% 0%,rgba(240,221,226,.5) 0%,transparent 70%),radial-gradient(50% 40% at 85% 80%,rgba(180,155,108,.12) 0%,transparent 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;font-family:var(--font-jp);position:relative;overflow:hidden}.games-page:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(192,117,140,.5) 1px,transparent 2px),radial-gradient(rgba(180,155,108,.45) 1px,transparent 2px);background-size:60px 60px,90px 90px;background-position:0 0,45px 45px;opacity:.12;z-index:0;pointer-events:none;animation:bgScroll 90s linear infinite}@keyframes bgScroll{0%{background-position:0 0,45px 45px}to{background-position:60px 60px,105px 105px}}.games-page:before{content:"";position:absolute;top:-20%;right:-10%;width:70vw;height:70vw;background:radial-gradient(circle,#f0dde280,#fff0 70%);border-radius:50%;z-index:0;pointer-events:none;animation:blobFloat 30s ease-in-out infinite alternate}@keyframes blobFloat{0%{transform:translate(0)}to{transform:translate(-30px,50px)}}.table-area{width:100%;max-width:1200px;height:900px;background:#fffdfab8;border-radius:44px;backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%);box-shadow:var(--shadow-soft);border:1px solid var(--line-soft);position:relative;display:flex;justify-content:center;align-items:center;z-index:1}.opponent{position:absolute;display:flex;flex-direction:column;align-items:center;width:140px;transition:transform .5s var(--ease-out);z-index:10}.opponent-left{top:20%;left:5%}.opponent-right{top:20%;right:5%}.avatar-circle{width:120px;height:120px;border-radius:50%;border:2px solid var(--paper);outline:1px solid var(--line);box-shadow:var(--shadow-faint);overflow:hidden;position:relative;background-color:var(--bg-2);z-index:2;transition:all .5s var(--ease-out)}.avatar-circle img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}.avatar-wrapper{position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:5px}.thinking-ring{position:absolute;top:50%;left:50%;width:100%;height:100%;transform:translate(-50%,-50%);pointer-events:none;z-index:1}.thinking-ring:before,.thinking-ring:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;border:1px solid var(--rose);opacity:0;animation:pulseWave 2.4s infinite ease-out}.thinking-ring:after{animation-delay:.8s}@keyframes pulseWave{0%{width:120px;height:120px;opacity:.7}to{width:210px;height:210px;opacity:0}}.member-name{font-family:var(--font-en);font-size:.78rem;color:var(--ink);font-weight:500;letter-spacing:.22em;text-indent:.1em;text-transform:uppercase;background:var(--paper);border:1px solid var(--line);padding:8px 20px;border-radius:999px;box-shadow:var(--shadow-faint);position:relative;z-index:3;margin-top:-18px}.landlord-badge{position:absolute;top:-25px;left:50%;transform:translate(-50%) rotate(-10deg);font-size:2.3rem;filter:drop-shadow(0 4px 10px rgba(180,155,108,.5));z-index:10;animation:crownFloat 4s ease-in-out infinite alternate}@keyframes crownFloat{0%{transform:translate(-50%) rotate(-10deg) translateY(0)}to{transform:translate(-50%) rotate(-5deg) translateY(-5px)}}.opponent-cards{margin-top:6px;font-family:var(--font-en);font-size:.72rem;font-weight:400;letter-spacing:.14em;color:var(--ink-dim);background:#fffdfad9;border:1px solid var(--line-soft);padding:5px 15px;border-radius:999px}.played-cards-area{position:absolute;display:flex;justify-content:center;align-items:center;z-index:5;pointer-events:none;filter:drop-shadow(0 16px 24px rgba(90,55,65,.18))}.played-cards-user{bottom:320px;left:50%;transform:translate(-50%)}.played-cards-left{top:30%;left:240px}.played-cards-right{top:30%;right:240px}.card-animate-enter{animation:cardFlyIn .6s var(--ease-out) forwards}@keyframes cardFlyIn{0%{opacity:0;transform:scale(.6) translateY(40px) rotate(6deg)}to{opacity:1;transform:scale(.8) translateY(0) rotate(0)}}.played-cards-area .card{transform:scale(.8);margin-right:-70px}.card{width:110px;height:160px;background:#fff;border-radius:12px;box-shadow:-2px 6px 16px #5a374129;display:flex;flex-direction:column;padding:10px;position:relative;margin-right:-65px;transition:all .35s var(--ease-out);cursor:pointer;border:1px solid var(--line-soft);-webkit-user-select:none;user-select:none;background-image:linear-gradient(160deg,#fff,#fdf7f4)}.card:last-child{margin-right:0}.card:hover{transform:translateY(-30px) scale(1.08);z-index:100;box-shadow:0 24px 48px -12px #5a374159;border-color:var(--rose)}.card.selected{transform:translateY(-40px);border:1px solid var(--rose-deep);box-shadow:0 0 0 1px var(--rose-deep),0 20px 44px -12px #a25a7373}.card-rank{font-size:1.8rem;font-weight:800;line-height:1;font-family:var(--font-en)}.card-suit{font-size:3.8rem;flex-grow:1;display:flex;justify-content:center;align-items:center;opacity:.9}.card-mini-suit{position:absolute;top:45px;left:10px;font-size:1.2rem}.card.red{color:#b8425c}.card.black{color:#2b2724}.game-controls{position:absolute;bottom:250px;left:50%;transform:translate(-50%);display:flex;gap:20px;z-index:50;animation:floatUp .6s var(--ease-out)}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.btn-pink{background:var(--ink);border:1px solid var(--ink);padding:16px 48px;color:var(--bg);font-family:var(--font-en);font-size:.82rem;font-weight:500;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;border-radius:999px;cursor:pointer;box-shadow:var(--shadow-faint);transition:all .5s var(--ease-out)}.btn-pink:hover{background:var(--rose-deep);border-color:var(--rose-deep);transform:translateY(-3px);box-shadow:var(--shadow-soft)}.btn-pink:active{transform:translateY(1px)}.btn-pink:disabled{background:var(--bg-2);border-color:var(--line);color:var(--ink-faint);cursor:not-allowed;box-shadow:none}.btn-pass{background:transparent;border:1px solid var(--line);color:var(--ink-dim);box-shadow:none}.btn-pass:hover{background:var(--paper);border-color:var(--ink);color:var(--ink)}.game-info{position:absolute;top:15%;font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--rose-deep);background:#fffdfae6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:18px 56px;border-radius:999px;box-shadow:var(--shadow-faint);text-align:center;letter-spacing:.1em;border:1px solid var(--line-soft);animation:gentleIn .9s var(--ease-out)}@keyframes gentleIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.speech-bubble{position:absolute;background:var(--paper);border-radius:18px;padding:16px 18px;min-width:180px;color:var(--ink);font-size:.95rem;font-weight:500;line-height:1.8;box-shadow:var(--shadow-faint);z-index:20;opacity:0;transform:scale(.7);transition:all .6s var(--ease-out);border:1px solid var(--line)}.speech-bubble.visible{opacity:1;transform:scale(1) rotate(-1deg)}.opponent-left .speech-bubble{top:-90px;left:100px}.opponent-right .speech-bubble{top:-90px;right:100px}.user-hand-area{position:absolute;bottom:20px;width:95%;height:200px;display:flex;justify-content:center;align-items:flex-end;perspective:1000px}.hand-container{display:flex;justify-content:center;align-items:flex-end;position:relative}.pass-text{font-family:var(--font-display);font-style:italic;color:var(--ink-faint);letter-spacing:.2em;padding:10px 26px;border-radius:999px;border:1px dashed var(--line);background:#fffdfab3}.turn-timer{position:absolute;top:30px;left:30px;width:70px;height:70px;background:#fffdfae6;border:1px solid var(--rose);border-radius:50%;display:flex;justify-content:center;align-items:center;font-family:var(--font-en);font-size:1.6rem;font-weight:500;color:var(--rose-deep);box-shadow:var(--shadow-faint);z-index:100}.timer-urgent{background:#c94f6d;color:#fff;border-color:#fff;animation:urgentPulse .9s infinite}@keyframes urgentPulse{0%{transform:scale(1)}50%{transform:scale(1.12);box-shadow:0 0 26px #c94f6d99}to{transform:scale(1)}}.debug-box{margin-top:20px;width:80%;background:#000c;color:#0f0;padding:10px;border-radius:10px;font-size:.8rem;display:none}.app-container{width:100%;min-height:100vh;position:relative}
