:root {--cn-gutter:clamp(16px,3.5vw,40px);color-scheme:dark;}
html {scroll-padding-top:96px;}
body {font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;}
html[lang="ja-JP"] body {font-family:Inter,"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;}
body.home-page main>.section {content-visibility:visible;contain-intrinsic-size:none;}
#cn-site-header {position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;right:auto;bottom:auto;transform:translateX(-50%);width:min(1240px,calc(100% - 2*var(--cn-gutter)));max-width:none;margin:0;padding:8px 16px;min-height:64px;display:flex;flex-wrap:nowrap;align-items:center;gap:20px;overflow:visible;z-index:1000;box-sizing:border-box;}
#cn-site-header .brand {display:flex;flex:0 0 auto;gap:9px;margin:0;white-space:nowrap;min-width:0;}
#cn-site-header .brand-mark {width:30px;height:30px;flex-shrink:0;}
#cn-site-header .cn-brand-name {font-size:15px;letter-spacing:.08em;}
#cn-site-header .desktop-nav {display:flex;gap:14px;min-width:0;margin-left:auto;}
#cn-site-header .desktop-nav a {display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:4px 2px;font-size:13px;white-space:nowrap;}
#cn-site-header .header-actions {display:flex;align-items:center;gap:8px;flex:0 0 auto;margin:0;}
#cn-site-header .language-trigger {min-height:44px;min-width:75px;width:auto;padding:10px 12px;font-size:12px;}
#cn-site-header .cn-community-entry,#cn-site-header .cn-service-link {display:inline-flex;gap:6px;align-items:center;justify-content:center;min-height:44px;padding:9px 10px;border:0;background:none;color:#dce5ec;font:inherit;font-size:13px;white-space:nowrap;cursor:pointer;}
#cn-site-header .header-buy {display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:10px 16px;font-size:13px;line-height:1.5;white-space:nowrap;}
#cn-site-header .cn-menu-toggle {display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:44px;height:44px;padding:10px;border:1px solid #34434f;border-radius:10px;background:#0d1722;color:white;cursor:pointer;}
#cn-site-header .cn-menu-toggle>span {display:block;width:18px;height:1px;background:currentColor;}
#cn-site-header .cn-mobile-navigation {position:absolute;top:calc(100% + 8px);left:0;right:0;margin:0;padding:12px 18px;background:#101823;border:1px solid #354454;border-radius:16px;box-shadow:0 15px 35px #0008;max-height:calc(100svh - 105px);overflow:auto;}
#cn-site-header .cn-mobile-navigation>a,#cn-site-header .cn-mobile-navigation>button {display:flex;align-items:center;min-height:46px;width:100%;padding:12px 0;border:0;border-bottom:1px solid #2c3946;background:none;color:#e0e9ee;font:inherit;font-size:15px;text-align:left;cursor:pointer;}
#cn-site-header .cn-mobile-navigation .cn-language-links {display:flex;flex-wrap:wrap;gap:20px;padding:12px 0 0;font-size:13px;color:#a7b9c8;}
#cn-site-header .cn-language-links button {border:0;background:none;color:inherit;font:inherit;padding:8px 0;min-height:44px;cursor:pointer;}
#cn-site-header .cn-language-links button[aria-current="true"] {color:#f0d28c;text-decoration:underline;text-underline-offset:5px;}
#cn-site-header a:focus-visible,#cn-site-header button:focus-visible {outline:2px solid #b8d5e5;outline-offset:2px;}
.cn-community-icon {display:inline-flex;flex:0 0 auto;width:18px;height:18px;}
.cn-community-icon svg {width:100%;height:100%;}
body.home-page[data-theme="discord"] .mobile-buy {display:none!important;}
body.home-page {padding-bottom:0;}

body.home-page #product {width:100%;max-width:100%;}
/* The approved still must fit the current viewport, including short desktop windows. */
body.home-page.cn-original-site #product[data-approved-product] {height:100vh;height:100dvh;min-height:0;}
body.home-page #product .home-banner__image {object-fit:contain;object-position:center;}
body.home-page #product .home-banner__preorder {min-height:48px;font-size:15px;}
body.home-page #product .home-banner__arrow {width:44px;height:44px;}
body.home-page #home-intro,body.home-page #why,body.home-page #supported-tcgs,body.home-page #specs,body.home-page #features,body.home-page #buy,body.home-page #origin,body.home-page #notifications,body.home-page #faq {width:min(1240px,calc(100% - 2*var(--cn-gutter)));max-width:none;margin-inline:auto;box-sizing:border-box;padding-block:clamp(48px,6vw,84px);scroll-margin-top:0;}
body.home-page .section>*,body.home-page .section div,body.home-page .section article,body.home-page .section aside {min-width:0;}
body.home-page .section h2 {max-width:100%;font-size:clamp(30px,3.8vw,52px);line-height:1.24;letter-spacing:-.035em;overflow-wrap:break-word;}
body.home-page .section h3 {line-height:1.45;overflow-wrap:break-word;}
body.home-page .section p,body.home-page .section li {font-size:16px;line-height:1.85;overflow-wrap:break-word;}
body.home-page #home-intro {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;}
body.home-page #home-intro .home-intro-title {font-size:clamp(28px,3.9vw,52px);line-height:1.25;}
body.home-page #home-intro .home-intro-title>span {max-width:100%;overflow-wrap:break-word;}
body.home-page #home-intro .home-intro-primary-actions,body.home-page #home-intro .home-intro-secondary-actions {min-width:0;flex-wrap:wrap;gap:12px;}
body.home-page #home-intro .preorder-gift {max-width:100%;grid-template-columns:minmax(0,1fr);gap:6px;}
body.home-page #home-intro .gift-chip {max-width:100%;white-space:normal;line-height:1.65;}
body.home-page #home-intro .home-offer-visual {max-width:100%;}
body.home-page #why {grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:36px;}
body.home-page #why .solution-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
body.home-page #why .solution-card {padding:24px;}
body.home-page #supported-tcgs {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;}
body.home-page #specs .spec-layout {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;}
body.home-page #specs .product-build {min-width:0;}
body.home-page #features {display:block;}
body.home-page #features .feature-experience-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
body.home-page #features .feature-experience-card {padding:26px;}
body.home-page #features .feature-trust-strip {margin-top:24px;grid-template-columns:repeat(2,minmax(0,1fr));}
body.home-page #buy {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start;}
body.home-page #buy .purchase-card {padding:clamp(22px,3vw,36px);width:100%;max-width:100%;}
body.home-page #buy .purchase-card>ul {padding-left:0;}
body.home-page #buy .purchase-card li {font-size:15px;}
body.home-page #buy .purchase-card .button {min-height:52px;white-space:normal;gap:12px;line-height:1.6;text-align:center;}
body.home-page #buy .color-selector {max-width:100%;}
body.home-page #buy .color-option {min-width:0;min-height:54px;font-size:14px;}
body.home-page #origin .origin-inner {width:min(860px,100%);max-width:100%;margin-inline:auto;}
body.home-page #notifications {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;}
body.home-page #notifications .notify-input-row {min-width:0;display:flex;gap:10px;}
body.home-page #notifications input {min-width:0;flex:1;font-size:16px;}
body.home-page #notifications button {min-height:48px;flex-shrink:0;}
body.home-page #faq {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;}
body.home-page #faq .faq-item {min-height:56px;width:100%;white-space:normal;text-align:left;line-height:1.65;font-size:16px;}
body.home-page #faq .faq-answer {font-size:15px;line-height:1.9;}
.cn-support-link {display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:4px;}

body[data-theme] .policy-main,body[data-theme] .contact-main {width:min(1160px,calc(100% - 2*var(--cn-gutter)));max-width:none;margin:0 auto;padding-top:120px;padding-bottom:50px;min-width:0;}
body[data-theme] .policy-hero {padding:30px 0 36px;}
body[data-theme] .policy-hero h1,body[data-theme] .contact-copy h1 {max-width:100%;font-size:clamp(32px,5vw,64px);line-height:1.22;overflow-wrap:break-word;}
body[data-theme] .policy-content {max-width:900px;padding:clamp(22px,4vw,40px);}
body[data-theme] .policy-content h2 {font-size:clamp(22px,2.5vw,30px);line-height:1.45;}
body[data-theme] .policy-content p {font-size:16px;line-height:1.9;overflow-wrap:anywhere;}
body[data-theme] .contact-main {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:start;}
body[data-theme] .contact-copy p {font-size:16px;line-height:1.9;}
body[data-theme] .contact-panel {min-width:0;padding:clamp(20px,3vw,32px);}
body[data-theme] .contact-form,body[data-theme] .support-form {min-width:0;max-width:100%;}
body[data-theme] .contact-field {min-width:0;}
body[data-theme] .contact-name-row {grid-template-columns:repeat(2,minmax(0,1fr));}
body[data-theme] .contact-form input:not([type=radio]):not([type=checkbox]),body[data-theme] .contact-form select,body[data-theme] .contact-form textarea {box-sizing:border-box;width:100%;min-width:0;font-size:16px;line-height:1.6;}
body[data-theme] .contact-form select {display:block;min-height:48px;margin-top:8px;padding:10px 12px;background:#202b38;color:#e5edf4;border:1px solid #526371;border-radius:8px;}
body[data-theme] .contact-form textarea {min-height:170px;resize:vertical;}
body[data-theme] .contact-submit {width:100%;min-height:48px;}
.cn-form-note {font-size:13px!important;line-height:1.8!important;color:#bdcad5;}
body[data-theme] footer.site-footer {max-width:100%;box-sizing:border-box;padding:40px var(--cn-gutter) 30px;}
body[data-theme] .footer-links {gap:8px 22px;min-width:0;flex-wrap:wrap;}
body[data-theme] .footer-links a,body[data-theme] .footer-links button {min-height:40px;display:inline-flex;align-items:center;overflow-wrap:anywhere;font-size:13px;line-height:1.8;}
.cn-footer-link {background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;}
body[data-theme] .footer-disclaimer,body[data-theme] .footer-product-note p,body[data-theme] .cn-registration {max-width:1100px;font-size:12px;line-height:1.9;overflow-wrap:anywhere;}

body .reserve-dialog {width:min(600px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);}
body .reserve-dialog .dialog-top {position:sticky;top:-24px;z-index:2;background:#0b141c;padding-block:8px;}
body .reserve-dialog .dialog-top .close-button {flex:0 0 44px;width:44px;height:44px;}
body .reserve-dialog .dialog-top img {min-width:0;max-width:calc(100% - 64px);height:auto;}
body .reserve-dialog .dialog-intro {font-size:15px;line-height:1.85;}
body .reserve-dialog .email-actions .button {min-height:48px;white-space:normal;}
body .reserve-dialog input,body .reserve-dialog textarea {font-size:16px;}
body .wishlist-modal[open] {display:grid;place-items:center;padding:12px;height:100dvh;box-sizing:border-box;}
body .wishlist-modal .wishlist-dialog {box-sizing:border-box;width:min(620px,100%);max-width:100%;max-height:calc(100dvh - 24px);overflow:auto;padding:28px;}
body .wishlist-modal .wishlist-dialog h2 {font-size:clamp(25px,3vw,34px);line-height:1.35;padding-right:30px;}
body .wishlist-modal .wishlist-close {width:44px;height:44px;}
body .wishlist-modal .wishlist-dialog h2 {padding-right:44px;}
body .wishlist-modal input,body .wishlist-modal select {min-width:0;width:100%;font-size:16px;}
body .cn-community-dialog {box-sizing:border-box;width:min(640px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:28px;border:1px solid #475767;border-radius:16px;background:#101923;color:#e4edf2;overflow:auto;}
body .cn-community-dialog::backdrop {background:#03070bd9;}
#community-dialog h2 {font-size:clamp(24px,5vw,30px);line-height:1.3;font-weight:600;}
.cn-community-dialog p {font-size:14px;line-height:1.85;color:#b5c6d3;overflow-wrap:anywhere;}
.cn-community-dialog .cn-dialog-top {display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
.cn-community-dialog .cn-dialog-top button {flex:0 0 44px;width:44px;height:44px;border:0;background:none;color:inherit;font-size:28px;cursor:pointer;}
.cn-community-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0;}
.cn-community-grid article {min-width:0;padding:20px;border:1px solid #334552;border-radius:12px;background:#152330;}
#community-dialog .cn-community-grid h3 {font-size:20px;line-height:1.45;margin-bottom:14px;}
.cn-community-grid img {max-width:100%;height:auto;margin-top:16px;}
.cn-community-dialog a {display:inline-flex;align-items:center;min-height:44px;color:#d6e9f7;text-decoration:underline;}
.cn-community-dialog .cn-community-email {min-height:48px;width:100%;padding:12px 18px;background:#e9eff3;color:#101c26;font:inherit;border:0;border-radius:8px;cursor:pointer;}
.cn-community-dialog button:focus-visible,.cn-community-dialog a:focus-visible {outline:2px solid #b8d5e5;outline-offset:3px;}
@media(max-width:1080px){
  #cn-site-header {gap:16px;justify-content:space-between;}
  #cn-site-header .desktop-nav,#cn-site-header .language-menu,#cn-site-header .cn-community-entry,#cn-site-header .cn-service-link {display:none;}
  #cn-site-header .cn-menu-toggle {display:flex;}
  body.home-page #home-intro,body.home-page #why,body.home-page #supported-tcgs,body.home-page #buy,body.home-page #faq,body.home-page #notifications {grid-template-columns:minmax(0,1fr);gap:30px;}
  body.home-page #home-intro .home-offer-visual {width:min(700px,100%);margin-inline:auto;}
  body.home-page #specs .spec-layout {grid-template-columns:minmax(0,1fr);}
  body.home-page #specs .product-hardware-panel {max-width:680px;margin-inline:auto;}
  body.home-page #features .feature-experience-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  body.home-page #buy .purchase-card {width:min(680px,100%);margin-inline:auto;}
  body[data-theme] .contact-main {grid-template-columns:minmax(0,1fr);gap:28px;}
}
@media(max-width:600px){
  :root {--cn-gutter:16px;}
  #cn-site-header {padding:7px 11px;min-height:60px;gap:10px;}
  #cn-site-header .brand {gap:7px;}
  #cn-site-header .brand-mark {width:27px;height:27px;}
  #cn-site-header .cn-brand-name {font-size:12px;letter-spacing:.065em;}
  #cn-site-header .header-actions {gap:6px;}
  #cn-site-header .header-buy {padding:10px 12px;font-size:12px;}
  body.home-page #product .home-banner__preorder {bottom:42px;min-height:48px;width:calc(100% - 64px);left:32px;right:32px;}
  body.home-page #product .home-banner__dots {bottom:14px;}
  body.home-page .section h2 {font-size:clamp(28px,7.8vw,36px);line-height:1.3;}
  body.home-page .section p,body.home-page .section li {font-size:15px;line-height:1.85;}
  body.home-page #home-intro .home-intro-title {font-size:clamp(27px,7.8vw,36px);}
  body.home-page #why .solution-grid,body.home-page #features .feature-experience-grid {grid-template-columns:minmax(0,1fr);}
  body.home-page #why .solution-card,body.home-page #features .feature-experience-card {padding:22px;}
  body.home-page #features .feature-trust-strip {grid-template-columns:minmax(0,1fr);}
  body.home-page #notifications .notify-input-row {display:flex;flex-direction:column;}
  body.home-page #notifications button {width:100%;justify-content:center;}
  body.home-page #buy .purchase-card {padding:22px 18px;}
  body.home-page #buy .purchase-card .button {font-size:13px;}
  body.home-page #faq .quote-block {padding:24px;}
  body[data-theme] .contact-main,body[data-theme] .policy-main {padding-top:106px;}
  body[data-theme] .policy-content,body[data-theme] .contact-panel {padding:22px 18px;}
  body[data-theme] .contact-name-row {grid-template-columns:minmax(0,1fr);}
  body[data-theme] .footer-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;}
  body[data-theme] .footer-links>a[href^="mailto"] {grid-column:1/-1;}
  body .reserve-dialog {padding:16px 20px 24px;}
  body .reserve-dialog .dialog-top {top:-16px;}
  body .reserve-dialog .form-row {grid-template-columns:minmax(0,1fr);}
  body .reserve-dialog .email-actions {flex-direction:column;align-items:stretch;}
  body .cn-community-dialog {padding:22px;}
  .cn-community-grid {grid-template-columns:minmax(0,1fr);}
}
@media(max-width:360px){
  #cn-site-header {padding-inline:8px;gap:8px;}
  #cn-site-header .brand {gap:5px;}
  #cn-site-header .brand-mark {width:24px;height:24px;}
  #cn-site-header .cn-brand-name {font-size:10.5px;letter-spacing:.05em;}
  #cn-site-header .header-buy {padding-inline:9px;}
  #cn-site-header .header-actions {gap:4px;}
}

body.home-page .section h2 {text-wrap:balance;}
body.home-page #features .section-heading,body.home-page #specs .section-heading {max-width:none;width:100%;}
body.home-page #why h2 {font-size:clamp(30px,3.4vw,42px);}
#community-dialog h2 {text-wrap:balance;}
body[data-theme] button[data-community] {min-height:44px;}
body.home-page.cn-original-site #buy .color-step-tab {min-height:44px;}
body.home-page.cn-original-site .supported-wishlist-link {min-height:44px;}

body.home-page #features .feature-experience-card {display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;gap:14px;align-content:start;}
body.home-page #features .feature-experience-card .feature-icon {grid-column:1;grid-row:1;width:44px;height:44px;}
body.home-page #features .feature-experience-card h3 {grid-column:2;grid-row:1;align-self:center;margin:0;}
body.home-page #features .feature-experience-card p {grid-column:1/-1;grid-row:2;max-width:none;margin:8px 0 0;}
body.home-page #product .home-banner__dot {position:relative;height:24px;background:transparent;box-shadow:none;}
body.home-page #product .home-banner__dot::before {content:'';position:absolute;left:0;right:0;top:10px;height:4px;border-radius:2px;background:#48535f;}
body.home-page #product .home-banner__dot[aria-current="true"]::before {background:var(--home-cta-color,#88ff2a);}
@media(max-width:600px){body.home-page #product .home-banner__preorder {top:auto;bottom:48px;left:32px;right:auto;width:calc(100% - 64px);transform:none;}}

.cn-anchor {scroll-margin-top:0;}

/* Paint the intro band edge to edge while preserving its desktop content measure. */
body.home-page.cn-original-site #home-intro {
  --cn-intro-inner-padding:clamp(18px,5vw,72px);
  width:100%;
  margin-inline:0;
  padding-inline:calc(max(var(--cn-gutter),calc((100% - 1240px)/2)) + var(--cn-intro-inner-padding));
}
@media(max-width:680px){body.home-page.cn-original-site #home-intro{--cn-intro-inner-padding:16px;}}
