:root{
  --washi:#FCF4F1; --petale:#F7DCE3; --sakura:#EAAEC0; --prunier:#EA88A0;
  --hua:#C7657B; --carmin:#AF3F5A; --vin:#673B44; --encre:#1F171A;
  --brume:#716368; --ciel:#CCD3D6; --ligne:#EBD3D8; --blanc:#FFFFFF;
  --serif:'Shippori Mincho',serif; --sans:'Zen Kaku Gothic New',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--washi);color:var(--encre);font-family:var(--sans);font-size:17px;line-height:1.65}
img{max-width:100%;display:block}
a{color:var(--carmin)}a:hover{color:var(--vin)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

.top{position:sticky;top:0;z-index:10;background:rgba(252,244,241,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--ligne)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--vin)}
.brand img{width:40px;height:40px;border-radius:10px}
.brand span{font-family:var(--serif);font-weight:800;font-size:21px}
.nav{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center}
.nav a{color:var(--encre);text-decoration:none;font-weight:500;font-size:15px;padding:8px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--prunier)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;border-radius:999px;font-weight:700;text-decoration:none;font-size:16px;border:1.5px solid transparent;transition:transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-main{background:var(--carmin);color:var(--washi)}
.btn-main:hover{background:var(--vin);color:var(--washi)}
.btn-line{border-color:var(--vin);color:var(--vin)}
.btn-light{background:var(--washi);color:var(--vin)}
.btn-small{min-height:44px;padding:0 20px;font-size:15px}

.kicker{font-size:13px;letter-spacing:.32em;color:var(--carmin);font-weight:700;text-transform:uppercase}
h1,h2,h3{font-family:var(--serif);color:var(--vin);margin:0;line-height:1.1}
h1{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:800}
h2{font-size:clamp(2rem,4vw,2.8rem);font-weight:800}
h3{font-size:1.35rem;font-weight:700}
.muted{color:var(--brume)}
.head{display:flex;flex-direction:column;gap:10px;margin-bottom:36px}

.hero{padding:56px 0 80px}
.hero .wrap{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.hero-text{flex:1 1 420px;display:flex;flex-direction:column;gap:22px}
.hero-text p{font-size:19px;max-width:500px;margin:0}
.row{display:flex;flex-wrap:wrap;gap:12px}
.hero-art{flex:1 1 440px;position:relative}
.hero-art .arch{width:100%;height:460px;object-fit:cover;border-radius:240px 240px 26px 26px}
.badge{position:absolute;left:-14px;bottom:30px;background:var(--washi);border:1px solid var(--ligne);border-radius:16px;padding:12px 16px;display:flex;gap:12px;align-items:center}
.badge img{width:48px;height:48px;border-radius:12px}
.badge strong{display:block;font-size:15px}.badge span{font-size:13px;color:var(--brume)}

.page-hero{padding:56px 0 40px;text-align:left}
.page-hero p{max-width:640px;margin:14px 0 0}

.band{background:var(--petale);padding:80px 0}
.sec{padding:80px 0}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.card{background:var(--blanc);border:1px solid var(--ligne);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:10px}
.card.dark{background:var(--encre);border-color:var(--encre);color:var(--washi)}
.card.dark h3{color:var(--washi)}.card.dark .muted{color:#E3CFD4}
.card.soft{background:var(--washi);border:none}
.num{font-family:var(--serif);font-size:30px;color:var(--hua);line-height:1}
.card.dark .num{color:var(--prunier)}

.portal{position:relative;border-radius:24px;overflow:hidden;min-height:320px;display:flex;align-items:flex-end;text-decoration:none;color:var(--washi)}
.portal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.portal:hover img{transform:scale(1.04)}
.portal::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(31,23,26,.82),rgba(31,23,26,.05) 65%)}
.portal div{position:relative;z-index:1;padding:26px;display:flex;flex-direction:column;gap:6px}
.portal h3{color:var(--washi);font-size:1.7rem}
.portal span{font-size:15px;color:#F2DDE2}
.portal:hover{color:var(--washi)}

.link-card{display:flex;align-items:center;gap:16px;background:var(--blanc);border:1px solid var(--ligne);border-radius:20px;padding:20px 22px;text-decoration:none;color:var(--encre)}
.link-card:hover{border-color:var(--prunier);color:var(--encre)}
.link-card .ic{width:52px;height:52px;flex:none;border-radius:14px;background:var(--petale);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;font-size:22px;color:var(--carmin)}
.link-card .ic img{width:52px;height:52px;border-radius:14px}
.link-card strong{display:block;font-size:17px}.link-card small{color:var(--brume);font-size:14px}
.link-card .go{margin-left:auto;color:var(--carmin);font-weight:700;white-space:nowrap}

.price{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.price b{font-family:var(--serif);font-weight:800;font-size:1.6rem;color:var(--carmin);white-space:nowrap}
.card.dark .price b{color:var(--prunier)}
.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;padding:4px 10px;border-radius:999px;background:var(--petale);color:var(--vin);align-self:flex-start}
.card.dark .tag{background:#3A2B30;color:var(--sakura)}
.cmds{font-family:ui-monospace,Menlo,monospace;font-size:14px;color:var(--vin);background:var(--washi);border-radius:10px;padding:10px 12px;line-height:1.7}
.card.dark .cmds{background:#2A1F23;color:var(--sakura)}
ul.clean{margin:0;padding-left:18px}ul.clean li{margin:2px 0}
.old{text-decoration:line-through;color:var(--brume);font-size:15px;margin-right:6px}

.tier{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;background:var(--blanc);border:1px solid var(--ligne);border-radius:24px;padding:28px}
.tier-head{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;border-bottom:1px solid var(--ligne);padding-bottom:16px}
.tier h4{margin:0 0 8px;font-size:14px;letter-spacing:.15em;text-transform:uppercase;color:var(--carmin)}
.tier ul{font-size:15px}
@media (max-width:720px){.tier{grid-template-columns:1fr}}

.staff{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.avatar{width:64px;height:64px;border-radius:50%;background:var(--petale);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:800;font-size:26px;color:var(--carmin)}
.card.dark .avatar{background:#3A2B30;color:var(--prunier)}
.id{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--brume)}

.banner{border-radius:28px;overflow:hidden;display:flex;flex-wrap:wrap;background:var(--vin);color:var(--washi)}
.banner img{flex:1 1 380px;min-height:300px;object-fit:cover;width:100%}
.banner div{flex:1 1 420px;padding:48px;display:flex;flex-direction:column;gap:18px}
.banner h2{color:var(--washi)}.banner p{margin:0;color:#F2DDE2}

.rules{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.rules .card ul{margin:0;padding-left:18px;color:var(--brume);font-size:16px}

.foot{border-top:1px solid var(--ligne);padding:32px 0;margin-top:40px}
.foot .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;color:var(--brume);font-size:14px}
.foot a{color:var(--brume)}

@media (max-width:600px){
  .hero-art .arch{height:340px}
  .badge{left:12px}
  .banner div{padding:32px 24px}
  .sec,.band{padding:60px 0}
}

.top .wrap{flex-wrap:nowrap}
.menu{margin-left:auto}
.menu summary{list-style:none;display:none}
.menu summary::-webkit-details-marker{display:none}
.menu .nav{display:flex}
.btn-discord{background:var(--prunier);color:var(--encre);gap:10px}
.btn-discord:hover{background:var(--sakura);color:var(--encre)}
.me{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px}
.me img{width:36px;height:36px;border-radius:50%;border:2px solid var(--sakura)}
.me-out{font-weight:500;font-size:13px;color:var(--brume)}
@media (max-width:900px){
  .menu{position:relative;order:3;margin-left:12px}
  .menu summary{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border-radius:12px;border:1px solid var(--ligne);cursor:pointer;align-items:center}
  .menu summary span{display:block;width:20px;height:2px;background:var(--vin);border-radius:2px}
  .menu .nav{display:none}
  .menu[open] .nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;right:0;top:54px;width:230px;background:var(--washi);border:1px solid var(--ligne);border-radius:16px;padding:8px;box-shadow:0 12px 30px rgba(103,59,68,.15)}
  .menu[open] .nav a{padding:12px 14px;border:0;border-radius:10px}
  .menu[open] .nav a[aria-current]{background:var(--petale)}
  .top .btn-discord{margin-left:auto}
  .me{margin-left:auto}.me > span,.me-out span{display:none}
  .brand span{font-size:18px}
}
@media (max-width:420px){.top .btn-discord{padding:0 14px;font-size:0;gap:0}.top .btn-discord svg{width:22px;height:22px}}

.lock{max-width:620px;margin:20px auto 60px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;background:var(--blanc);border:1px solid var(--ligne);border-radius:28px;padding:48px 28px}
.lock img{width:72px;height:72px;border-radius:18px}
.lock p{margin:0}
.unlocked{display:inline-flex;gap:8px;align-items:center;background:var(--petale);color:var(--vin);font-size:14px;font-weight:700;padding:6px 14px;border-radius:999px}

.emo{font-size:30px;line-height:1}

.wl{display:flex;flex-direction:column;gap:14px;padding-bottom:40px}
.wl-row{background:var(--blanc);border:1px solid var(--ligne);border-radius:22px;padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:center}
.wl-row h3{display:flex;align-items:center;gap:10px}
.wl-row .lines{display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--brume)}
.wl-row .lines b{color:var(--vin);font-weight:700;margin-right:6px}
.wl-row .pills{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.pill{font-family:var(--serif);font-weight:800;font-size:1.25rem;color:var(--carmin);background:var(--petale);border-radius:999px;padding:6px 16px;white-space:nowrap}
.pill small{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--vin);margin-right:6px;letter-spacing:.05em}
.wl-row.dark{background:var(--encre);border-color:var(--encre)}
.wl-row.dark h3{color:var(--washi)}.wl-row.dark .lines{color:#E3CFD4}.wl-row.dark .lines b{color:var(--sakura)}
.wl-row.dark .pill{background:#3A2B30;color:var(--prunier)}.wl-row.dark .pill small{color:var(--sakura)}
@media (max-width:600px){.wl-row{grid-template-columns:1fr}.wl-row .pills{flex-direction:row;flex-wrap:wrap;align-items:flex-start}}

.pp{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--sakura)}
.card.dark .pp{border-color:var(--prunier)}
.handle{font-size:14px;color:var(--brume)}
.card.dark .handle{color:#E3CFD4}
.grade-first{outline:2px solid var(--prunier);outline-offset:-2px}

button.card{font:inherit;color:inherit;text-align:left;cursor:pointer;width:100%}
.h3{font-family:var(--serif);color:var(--vin);font-size:1.35rem;font-weight:700;line-height:1.1}
.card.dark .h3{color:var(--washi)}
.tap{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s}
.tap:hover{transform:translateY(-4px);border-color:var(--prunier);box-shadow:0 14px 30px rgba(175,63,90,.14)}
.tap:active{transform:scale(.97)}
.tap:focus-visible,.tap-pill:focus-visible,.tap-btn:focus-visible{outline:3px solid var(--prunier);outline-offset:2px}
.tap-meta{display:flex;justify-content:space-between;gap:8px;font-size:14px;margin-top:auto}
.tap-go{color:var(--carmin);font-weight:700}
.card.dark .tap-go{color:var(--prunier)}
.tap-pill{border:0;cursor:pointer;transition:transform .2s,background .2s}
.tap-pill:hover{transform:translateY(-2px);background:var(--sakura)}
.wl-row.dark .tap-pill:hover{background:#4A3339}
.tap-btn{cursor:pointer;margin-left:10px;vertical-align:middle;background:none}
.tap-btn.btn-light{background:var(--washi)}

@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.grid .tap,.rise,.wl-row{animation:rise .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}

.sheet{border:0;padding:0;background:transparent;max-width:min(640px,calc(100vw - 24px));width:100%;max-height:calc(100vh - 40px)}
.sheet::backdrop{background:rgba(31,23,26,.45);backdrop-filter:blur(3px)}
.sheet[open]{animation:pop .28s cubic-bezier(.2,.9,.3,1.2)}
.sheet.closing{animation:out .18s ease forwards}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes out{to{opacity:0;transform:translateY(16px) scale(.97)}}
.sheet-in{position:relative;background:var(--washi);border-radius:26px;padding:28px;max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--ligne)}
.sheet-x{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:1px solid var(--ligne);background:var(--blanc);font-size:24px;line-height:1;color:var(--vin);cursor:pointer}
.sheet-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-right:48px}
.sheet-head h2{font-size:1.7rem;margin-bottom:6px}
.sheet-emo{font-size:40px;width:64px;height:64px;border-radius:18px;background:var(--petale);display:flex;align-items:center;justify-content:center}
.sheet-price{font-family:var(--serif);font-weight:800;font-size:1.5rem;color:var(--carmin);margin-left:auto}
.sheet-desc{margin:16px 0 0}
.sheet-h{margin:22px 0 10px;font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--carmin)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:ui-monospace,Menlo,monospace;font-size:13px;background:var(--blanc);border:1px solid var(--ligne);color:var(--vin);border-radius:999px;padding:6px 12px}
.inherit{display:flex;flex-direction:column;gap:12px;background:var(--petale);border-radius:18px;padding:16px}
.inherit-row{display:flex;flex-direction:column;gap:8px}
.inherit-name{font-weight:700;font-size:14px;color:var(--vin)}
.inherit .chip{opacity:.85}
@media (max-width:600px){.sheet{max-width:100vw;margin:auto 0 0;max-height:88vh}.sheet-in{border-radius:26px 26px 0 0;max-height:88vh;padding:24px 20px}}

.hero2{position:relative;overflow:hidden;padding:48px 0 72px}
.hero2-in{display:flex;flex-wrap:wrap;gap:48px;align-items:center;position:relative;z-index:1}
.hero2 h1{font-size:clamp(2.8rem,7vw,5rem)}
.stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:6px}
.stats div{display:flex;flex-direction:column}
.stats b{font-family:var(--serif);font-size:2rem;color:var(--vin);line-height:1}
.stats span{font-size:14px;color:var(--brume)}
.seal{position:absolute;right:-10px;top:24px;writing-mode:vertical-rl;font-family:var(--serif);font-weight:800;font-size:28px;letter-spacing:.2em;color:var(--carmin);background:var(--washi);border-radius:14px;padding:16px 10px;border:1px solid var(--ligne)}
.petals i{position:absolute;top:-20px;width:14px;height:11px;background:var(--sakura);border-radius:80% 0 80% 0;opacity:.7;animation:fall linear infinite}
.petals i:nth-child(1){left:6%;animation-duration:13s;animation-delay:-2s}
.petals i:nth-child(2){left:18%;animation-duration:16s;animation-delay:-8s;width:10px;height:8px}
.petals i:nth-child(3){left:29%;animation-duration:12s;animation-delay:-5s;background:var(--prunier)}
.petals i:nth-child(4){left:41%;animation-duration:18s;animation-delay:-11s}
.petals i:nth-child(5){left:52%;animation-duration:14s;animation-delay:-1s;width:9px;height:7px}
.petals i:nth-child(6){left:63%;animation-duration:17s;animation-delay:-6s;background:var(--prunier)}
.petals i:nth-child(7){left:72%;animation-duration:12s;animation-delay:-9s}
.petals i:nth-child(8){left:81%;animation-duration:15s;animation-delay:-3s;width:11px;height:9px}
.petals i:nth-child(9){left:90%;animation-duration:19s;animation-delay:-13s}
.petals i:nth-child(10){left:96%;animation-duration:13s;animation-delay:-7s;background:var(--prunier)}
@keyframes fall{0%{transform:translate(0,-20px) rotate(0)}50%{transform:translate(40px,50vh) rotate(180deg)}100%{transform:translate(-20px,105vh) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.petals,.ticker-in{animation:none!important}.petals{display:none}.grid .tap,.rise,.wl-row,.sheet[open]{animation:none}}

.ticker{overflow:hidden;border-block:1px solid var(--ligne);background:var(--washi);padding:14px 0}
.ticker-in{display:flex;gap:36px;width:max-content;animation:slide 40s linear infinite}
.ticker span{font-family:var(--serif);font-weight:700;color:var(--vin);white-space:nowrap;font-size:17px}
@keyframes slide{to{transform:translateX(-50%)}}

.portal-n{font-family:var(--serif);font-size:14px;letter-spacing:.2em;color:var(--sakura)!important}
.path{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));counter-reset:p}
.path li{display:flex;gap:16px;align-items:flex-start;background:var(--blanc);border:1px solid var(--ligne);border-radius:20px;padding:22px}
.path li:first-child{border-color:var(--prunier);box-shadow:0 0 0 1px var(--prunier) inset}
.path li p{margin:6px 0 0}
.path li.dark{background:var(--encre);border-color:var(--encre)}
.path li.dark h3{color:var(--washi)}.path li.dark .muted{color:#E3CFD4}.path li.dark .num{color:var(--prunier)}

.motto{background:var(--encre);color:var(--washi);padding:64px 0}
.motto-in{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center}
.motto-k{font-family:var(--serif);font-weight:800;font-size:clamp(2.6rem,8vw,5rem);color:var(--prunier);letter-spacing:.12em;line-height:1}
.motto-t{font-family:var(--serif);font-weight:800;font-size:clamp(1.6rem,4vw,2.4rem);margin:0 0 6px;color:var(--washi)}
.motto .muted{color:#E3CFD4}

.foot-links{display:flex;flex-wrap:wrap;gap:16px}
.legal-card{margin-bottom:40px;gap:6px}
.legal-card h3{margin-top:18px}.legal-card h3:first-child{margin-top:0}
.legal-card p,.legal-card li{color:var(--brume);margin:0}
.legal-card ul{margin:4px 0;padding-left:20px}

.faq{display:flex;flex-direction:column;gap:12px;padding-bottom:40px}
.faq details{background:var(--blanc);border:1px solid var(--ligne);border-radius:18px;padding:0 22px;transition:border-color .2s}
.faq details[open]{border-color:var(--prunier)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;font-weight:700;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--serif);font-size:26px;color:var(--carmin);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 20px;color:var(--brume)}


.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cheong{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.cheong-fab{display:flex;align-items:center;gap:10px;border:0;cursor:pointer;background:var(--carmin);color:var(--washi);font:inherit;font-weight:700;padding:6px 18px 6px 6px;border-radius:999px;box-shadow:0 10px 28px rgba(103,59,68,.3);transition:transform .2s}
.cheong-fab:hover{transform:translateY(-2px)}
.cheong-fab img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--sakura)}
.cheong.open .cheong-fab span{display:none}
.cheong.open .cheong-fab{padding:6px}
.cheong-panel{width:min(380px,calc(100vw - 24px));height:min(540px,calc(100vh - 120px));background:var(--washi);border:1px solid var(--ligne);border-radius:24px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 50px rgba(31,23,26,.25);animation:pop .25s cubic-bezier(.2,.9,.3,1.2);order:-1}
.cheong-panel[hidden]{display:none}
.cheong-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--encre);color:var(--washi)}
.cheong-head img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--prunier)}
.cheong-head div{display:flex;flex-direction:column;line-height:1.2}
.cheong-head strong{font-family:var(--serif);font-size:18px}
.cheong-head span{font-size:12px;color:#E3CFD4}
.cheong-x{margin-left:auto;width:44px;height:44px;border-radius:50%;border:0;background:#3A2B30;color:var(--washi);font-size:22px;cursor:pointer}
.cheong-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.msg{max-width:84%;padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.msg.bot{background:var(--blanc);border:1px solid var(--ligne);align-self:flex-start;border-bottom-left-radius:6px}
.msg.me{background:var(--carmin);color:var(--washi);align-self:flex-end;border-bottom-right-radius:6px}
.msg.err{border-color:var(--carmin);color:var(--carmin)}
.msg.typing{animation:blink 1s infinite}
@keyframes blink{50%{opacity:.4}}
.cheong-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--ligne);background:var(--blanc)}
.cheong-form input{flex:1;min-height:44px;border:1px solid var(--ligne);border-radius:999px;padding:0 16px;font:inherit;font-size:16px;background:var(--washi);color:var(--encre)}
.cheong-form input:focus{outline:2px solid var(--prunier);border-color:transparent}
.cheong-form button{width:44px;height:44px;border-radius:50%;border:0;background:var(--carmin);color:var(--washi);font-size:18px;cursor:pointer}
.cheong-form.busy button{opacity:.5;pointer-events:none}
@media (max-width:600px){.cheong{right:12px;bottom:12px}.cheong-fab span{display:none}.cheong-fab{padding:6px}.cheong.open{left:12px}.cheong-panel{width:100%;height:calc(100vh - 110px)}}
.diag{font-size:14px;color:var(--brume);background:var(--petale);border-radius:12px;padding:10px 14px;margin:0!important}
.msg.bot b{color:var(--vin)}.msg.bot ul{margin:6px 0;padding-left:18px}.msg.bot li{margin:2px 0}.msg.bot p{margin:0 0 6px}.msg.bot p:last-child{margin:0}
.msg.bot a{color:var(--carmin);font-weight:700}

.me-out{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--ligne);text-decoration:none;color:var(--vin);font-weight:700}
.me-out:hover{background:var(--petale);color:var(--carmin)}
.cheong-new{margin-left:auto;width:44px;height:44px;border-radius:50%;border:0;background:#3A2B30;color:var(--washi);cursor:pointer;display:flex;align-items:center;justify-content:center}
.cheong-new + .cheong-x{margin-left:6px}
.cheong-new:hover,.cheong-x:hover{background:#4A3339}

.me-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--encre)}
.me-link:hover{color:var(--carmin)}
@media (max-width:900px){.me-link span{display:none}}
@media (max-width:1180px) and (min-width:901px){.nav{gap:4px 14px}.nav a{font-size:14px}}
.profile{display:flex;flex-wrap:wrap;gap:28px;align-items:center;padding:48px 0 10px}
.profile-pp{width:132px;height:132px;border-radius:50%;object-fit:cover;border:5px solid var(--sakura);box-shadow:0 12px 30px rgba(175,63,90,.18)}
.profile-info{display:flex;flex-direction:column;gap:6px;flex:1 1 280px}
.chip.ok{background:#E7F3EA;border-color:#B9DCC2;color:#24613A;font-family:var(--sans);font-weight:700}
.chip.role{background:var(--petale);font-family:var(--sans);font-weight:700}
.cmp-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:24px}
.cmp-form label{display:flex;flex-direction:column;gap:6px;flex:1 1 220px;font-weight:700;font-size:14px;color:var(--vin)}
.cmp-form select{min-height:50px;border-radius:14px;border:1px solid var(--ligne);background:var(--blanc);font:inherit;font-size:16px;padding:0 14px;color:var(--encre)}
.cmp-vs{font-family:var(--serif);font-weight:800;color:var(--carmin);font-size:22px;padding-bottom:12px}
.cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px}
.card.dark .chip{background:#2A1F23;border-color:#3A2B30;color:var(--sakura)}
.card.dark .sheet-h{color:var(--sakura)}
.gallery{columns:3 260px;column-gap:16px;padding-bottom:40px}
.g-item{display:block;width:100%;margin:0 0 16px;padding:0;border:0;border-radius:20px;overflow:hidden;cursor:zoom-in;position:relative;break-inside:avoid;background:var(--petale)}
.g-item img{width:100%;height:auto;transition:transform .5s}
.g-item:hover img{transform:scale(1.04)}
.g-item span{position:absolute;left:0;right:0;bottom:0;padding:24px 16px 12px;color:var(--washi);font-weight:700;font-size:15px;background:linear-gradient(to top,rgba(31,23,26,.75),transparent);text-align:left}
.lightbox{border:0;padding:0;background:transparent;max-width:min(1100px,96vw)}
.lightbox::backdrop{background:rgba(31,23,26,.85)}
.lightbox[open]{animation:pop .25s ease}
.lightbox img{max-height:82vh;width:auto;max-width:100%;border-radius:18px;margin:0 auto}
.lightbox p{color:var(--washi);text-align:center;margin:12px 0 0;font-weight:700}
.lightbox .sheet-x{top:8px;right:8px;z-index:2}
.live::after{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:#3BA55D;margin-left:6px;vertical-align:middle;animation:blink 1.6s infinite}

.badge-link{left:18px;bottom:18px;text-decoration:none;color:var(--encre);transition:transform .2s,box-shadow .2s;padding-right:14px}
.badge-link:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(103,59,68,.25);color:var(--encre)}
.badge-link span{color:var(--carmin);font-weight:700}
.badge-go{font-size:20px;margin-left:6px;color:var(--carmin)}
@media (max-width:600px){.badge-link{left:12px;bottom:12px}}
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.feat{background:var(--blanc);border:1px solid var(--ligne);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:8px;transition:transform .25s,border-color .25s}
.feat:hover{transform:translateY(-3px);border-color:var(--prunier)}
.feat p{margin:0}
.feat-ic{width:52px;height:52px;border-radius:16px;background:var(--petale);display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:4px}
.head-row{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.head-row > div{display:flex;flex-direction:column;gap:10px}
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.mate{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:var(--blanc);border:1px solid var(--ligne);border-radius:22px;padding:26px 16px;text-decoration:none;color:var(--encre);transition:transform .25s,border-color .25s}
.mate:hover{transform:translateY(-3px);border-color:var(--prunier);color:var(--encre)}
.mate img{width:86px;height:86px;border-radius:50%;object-fit:cover;border:3px solid var(--sakura);margin-bottom:6px}
.mate strong{font-family:var(--serif);font-size:1.2rem;color:var(--vin)}
.mate span{font-size:14px;color:var(--brume)}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:12px}
.mosaic a{border-radius:18px;overflow:hidden;display:block}
.mosaic a:nth-child(1){grid-column:span 2;grid-row:span 2}

.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.mosaic a:hover img{transform:scale(1.05)}
@media (max-width:700px){.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:140px}}
.nav-desk{display:flex;margin-left:auto;flex-wrap:nowrap}
.top .wrap > .menu{display:none}
.top .btn-discord,.top .me{margin-left:16px}
@media (max-width:1100px) and (min-width:901px){.nav-desk{gap:4px 12px}.nav-desk a{font-size:14px}}
@media (max-width:900px){.nav-desk{display:none}.top .wrap > .menu{display:block;margin-left:auto}.top .btn-discord,.top .me{margin-left:8px}}
.brand span,.top .btn-discord{white-space:nowrap}
@media (max-width:1100px) and (min-width:901px){.brand span{display:none}}
@media (max-width:900px){.top .wrap > .menu{margin-left:8px}.top .btn-discord,.top .me{margin-left:auto}}

.tiers-f,.loc-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.tf{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--ligne);background:var(--blanc);font:inherit;font-weight:700;font-size:15px;color:var(--vin);cursor:pointer;transition:background .2s}
.tf[aria-pressed="true"]{background:var(--carmin);border-color:var(--carmin);color:var(--washi)}
.grid [hidden]{display:none!important}
.loc-tabs a{flex:1 1 240px;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:20px;border:1px solid var(--ligne);background:var(--blanc);text-decoration:none;color:var(--encre);transition:border-color .2s,transform .2s}
.loc-tabs a > span:first-child{width:48px;height:48px;border-radius:14px;background:var(--petale);display:flex;align-items:center;justify-content:center;font-size:24px;flex:none}
.loc-tabs a span:last-child{display:flex;flex-direction:column}
.loc-tabs b{font-family:var(--serif);font-size:1.25rem;color:var(--vin)}
.loc-tabs small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brume);font-weight:700}
.loc-tabs a:hover{transform:translateY(-2px)}
.loc-tabs a[aria-current]{border-color:var(--carmin);box-shadow:0 0 0 1px var(--carmin) inset}
.loc-from{margin:0 0 18px;color:var(--brume)}
.pill-from{display:inline-block;padding:3px 12px;border-radius:999px;background:#FFF3D6;border:1px solid #E9C46A;color:#7A5A12;font-weight:700}
.loc-list{display:flex;flex-direction:column;gap:16px;padding-bottom:30px}
.loc-card{background:var(--blanc);border:1px solid var(--ligne);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px}
.loc-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.loc-head h2{font-size:1.6rem;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.loc-n{font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--brume);background:var(--washi);border-radius:999px;padding:6px 12px;white-space:nowrap}
.loc-desc{margin:0}
.loc-prices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.loc-p{border:1px solid var(--ligne);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:4px;background:var(--washi)}
.loc-p b{font-family:var(--serif);font-weight:800;font-size:1.7rem;color:var(--vin);line-height:1.1}
.loc-l{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--brume);font-weight:700}
.loc-s{font-size:13px;color:var(--brume);font-weight:700}
.loc-s.ok{color:#24804A}
.loc-s.gold{color:#9A6B00}
.loc-p.gold{border:2px solid #D9A72B;background:#FFF9EA}
.loc-foot{display:flex;flex-direction:column;gap:2px;font-size:15px}
.loc-pre{color:#9A6B00;font-weight:700}
@media (max-width:700px){.loc-prices{grid-template-columns:1fr 1fr}.loc-p b{font-size:1.45rem}.loc-card{padding:18px}}
.portals4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media (max-width:1320px) and (min-width:901px){.brand span,.me-link span{display:none}.nav-desk{gap:4px 14px}}
.hero-h span{display:block}
@media (min-width:901px){.hero2 .hero-h{font-size:clamp(3rem,4.6vw,4.6rem)}.hero-h span{white-space:nowrap}.hero2 .hero-text{flex:1 1 520px}}
@media (min-width:901px){.hero2 .hero-text{flex:1 1 440px}.hero2 .hero-art{flex:1 1 360px}.hero2-in{gap:40px;flex-wrap:nowrap}}
.top .wrap{gap:20px}
.brand{flex:none}
.nav-desk{flex:1 1 auto;min-width:0;justify-content:center;margin:0}
.top .btn-discord,.top .me{flex:none;margin-left:0}
.me-link span{white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1400px) and (min-width:901px){.brand span{display:none}.nav-desk{gap:4px 14px}.nav-desk a{font-size:14.5px}}
@media (max-width:1180px) and (min-width:901px){.me-link span,.me-out span{display:none}.nav-desk{gap:4px 11px}.nav-desk a{font-size:14px}}
@media (max-width:900px){.top .btn-discord,.top .me{margin-left:auto}}
.top .wrap{max-width:1440px}
@media (max-width:1499px) and (min-width:901px){.top .brand span{display:none}}
.me-admin{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:var(--encre);color:var(--washi);font-weight:700;font-size:13px;text-decoration:none}
.me-admin:hover{background:var(--vin);color:var(--washi)}
.admin-card{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:22px;background:var(--encre);color:var(--washi);text-decoration:none;margin-bottom:28px}
.admin-card:hover{color:var(--washi);transform:translateY(-2px)}
.admin-card > span:nth-child(2){display:flex;flex-direction:column;flex:1}
.admin-card b{font-family:var(--serif);font-size:1.3rem}
.admin-card small{color:#E3CFD4;font-size:14px}
.admin-card .tap-go{color:var(--prunier)}
.admin-ic{width:52px;height:52px;border-radius:16px;background:#3A2B30;display:flex;align-items:center;justify-content:center;font-size:24px;flex:none}
@media (max-width:900px){.top .me-admin{display:none}}
.nav-admin{background:var(--encre);color:var(--washi)!important;margin-top:6px}
@media (max-width:600px){.wl-row .pills{flex-wrap:wrap}.wl-row .pill{white-space:normal}.wl-row h3,.wl-row .lines span{overflow-wrap:anywhere}}
.path{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.loc-durs{display:flex;flex-wrap:wrap;gap:8px}
.loc-durs span{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--vin);background:var(--washi);border:1px solid var(--ligne);border-radius:999px;padding:6px 14px}
.loc-cta{display:flex;align-items:center;gap:14px;margin:0;padding:14px 16px;border-radius:16px;background:var(--petale);color:var(--vin);font-size:15px;line-height:1.5}
.loc-cta-ic{width:40px;height:40px;border-radius:12px;background:var(--blanc);color:var(--carmin);display:flex;align-items:center;justify-content:center;flex:none}
.loc-cta code,.page-hero code,.banner code{font-family:ui-monospace,Menlo,monospace;font-weight:700;background:var(--blanc);color:var(--carmin);padding:2px 8px;border-radius:8px}
.banner code{background:#4A2C33;color:var(--sakura)}
