:root{--navy-900:#0d1326;--navy-800:#171f3d;--navy-700:#232c52;--gold:#d4af37;--gold-bright:#f3d26a;--crimson:#b5253f;--ink:#101418;--paper:#f4f1e8;--paper-dim:#dcd6c4;--font-display:'DotGothic16',monospace;--font-body:'Noto Sans JP',sans-serif;--line:rgba(244,241,232,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy-900);color:var(--paper);font-family:var(--font-body);line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}h1,h2,h3,.logo,.eyebrow,.footer-logo{font-family:var(--font-display);letter-spacing:.04em}h1,h2,h3,p{margin-top:0}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.narrow{max-width:860px}.skip-link{position:fixed;left:12px;top:-100px;background:var(--paper);color:var(--ink);padding:10px;z-index:100}.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(13,19,38,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between}.header-right{display:flex;align-items:center;gap:18px}.logo{font-size:1.25rem}.logo small{display:block;font:700 .75rem var(--font-body);letter-spacing:.2em;color:var(--paper-dim)}.site-nav{display:flex;align-items:center;gap:28px;font-size:.9rem}.site-nav a{padding:25px 0;border-bottom:2px solid transparent}.header-search{display:flex;align-items:center;gap:6px}.header-search input[type=search]{padding:7px 10px;font-size:.82rem;width:150px}.header-search button{background:var(--navy-700);color:var(--paper);border:1px solid var(--line);padding:7px 12px;font-size:.78rem;cursor:pointer}.header-search button:hover{border-color:var(--gold)}.site-nav a:hover,.site-nav a.active{color:var(--gold-bright);border-color:var(--gold)}.cart-link{background:var(--navy-700);padding:9px 14px!important;border:0!important}.cart-link span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:6px;border-radius:50%;background:var(--paper);color:var(--navy-900);font-size:.75rem}.menu-toggle{display:none;background:transparent;color:var(--paper);border:1px solid var(--line);padding:8px 12px}
.hero{background:radial-gradient(circle at 70% 30%,#26335c 0,transparent 45%);border-bottom:1px solid var(--line)}.hero-grid{min-height:650px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:60px}.hero-copy h1{font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.2;margin:.15em 0 .4em}.hero-copy>p:not(.eyebrow){color:var(--paper-dim)}.eyebrow,.section-heading>p,.section-heading div>p{font-size:.75rem;color:var(--gold-bright);letter-spacing:.2em;margin-bottom:8px}
.button-row{display:flex;gap:12px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:10px 24px;border:1px solid var(--gold);cursor:pointer;font-weight:700}.button.primary{background:var(--paper);border-color:var(--paper);color:var(--navy-900)}.button.primary:hover{background:var(--gold-bright);border-color:var(--gold-bright)}.button.ghost{background:transparent;color:var(--paper)}.button.light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button.full{width:100%}.button.small{min-height:44px;padding:4px 12px}.button:disabled{opacity:.45;cursor:not-allowed}
.section{padding-block:88px}.surface{background:var(--navy-800);border-block:1px solid var(--line)}.section-heading{margin-bottom:32px}.section-heading h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:0}.section-heading.split{display:flex;align-items:end;justify-content:space-between}.section-heading.split>a{color:var(--gold-bright)}.category-grid,.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.category-card{padding:28px 18px;background:var(--navy-800);border:1px solid var(--line);text-align:center;transition:.2s}.category-card:hover{transform:translateY(-4px);border-color:var(--gold)}.category-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-bright)}.category-icon svg{width:28px;height:28px}.category-card h3{margin-bottom:5px}.category-card p{color:var(--paper-dim);font-size:.82rem;margin:0}
.product-card{background:var(--navy-900);border:1px solid var(--line);overflow:hidden}.product-image{position:relative;display:block;background:#111a30;aspect-ratio:1/1}.product-image img{width:100%;height:100%;object-fit:cover;transition:.3s}.product-card:hover .product-image img{transform:scale(1.03)}.product-card.is-soldout .product-image img{filter:grayscale(1) brightness(.55)}.soldout-badge{position:absolute;top:10px;left:10px;background:var(--crimson);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;letter-spacing:.05em;z-index:1}.product-body{padding:18px}.product-body h3{font-size:1.1rem;margin:10px 0}.quick-add{margin-top:10px}.product-body button.full{width:100%}.badges{display:flex;gap:6px}.badge{font-size:.75rem;padding:2px 7px;border:1px solid var(--gold);color:var(--gold-bright)}.badge.accent{background:var(--crimson);color:#fff;border-color:var(--crimson)}.price{font-weight:700;margin-bottom:5px}.price small{font-weight:400;color:var(--paper-dim)}.price.large{font-size:1.8rem}.stock{font-size:.8rem;color:var(--paper-dim);margin:0}.stock.low{color:#ff728b}.stock.soldout{color:#ff728b;font-weight:700}
.quest-banner{min-height:280px;display:flex;align-items:center;justify-content:space-between;padding:50px;background:linear-gradient(90deg,rgba(13,19,38,.95),rgba(13,19,38,.25)),var(--quest-bg,url('/assets/img/quest-placeholder.svg')) center/cover;border:1px solid var(--gold)}.quest-banner h2{font-size:2.3rem}.guild-panel{display:flex;align-items:center;justify-content:space-between;padding:50px;border:1px solid var(--line);background:var(--navy-800)}
.site-footer{padding-top:60px;background:var(--ink);border-top:1px solid var(--line)}.footer-grid{display:flex;justify-content:space-between}.footer-logo{font-size:1.3rem}.footer-grid nav{display:flex;flex-direction:column;gap:8px}.disclaimer{text-align:center;margin:50px 0 0;padding:20px;border-block:1px solid var(--line);font-size:.85rem}.copyright{text-align:center;padding:16px;margin:0;color:var(--paper-dim);font-size:.75rem}
.page-hero{background:var(--navy-800);border-bottom:1px solid var(--line)}.page-hero.compact{padding:58px 0}.page-hero h1{font-size:clamp(2rem,4vw,3.5rem);margin:0}.category-tabs{display:flex;margin-top:30px;overflow:auto;border-bottom:1px solid var(--line)}.category-tabs a{white-space:nowrap;padding:12px 24px}.category-tabs a.active{color:var(--gold-bright);border-bottom:2px solid var(--gold)}.catalog-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.catalog-tools form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
select,input,textarea{background:var(--navy-800);color:var(--paper);border:1px solid var(--line);padding:10px 12px}textarea{min-height:120px;resize:vertical}.breadcrumbs{display:flex;gap:10px;color:var(--paper-dim);font-size:.85rem;margin-bottom:35px;overflow:hidden}.item-detail{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}.item-visual{position:relative;background:var(--navy-800);border:1px solid var(--line)}.item-visual img{width:100%}.item-visual.is-soldout img{filter:grayscale(1) brightness(.55)}.item-visual .soldout-badge{top:16px;left:16px;font-size:.85rem;padding:6px 14px}.item-info h1{font-size:clamp(2.2rem,4vw,4rem);line-height:1.25;margin:.25em 0}.lead{color:var(--paper-dim)}.add-form{display:flex;align-items:center;gap:10px;margin-top:30px}.add-form input[type=number]{width:80px}.microcopy{font-size:.75rem;color:var(--paper-dim);margin-top:12px}.trust-list{list-style:none;margin:14px 0 0;padding:0;font-size:.82rem;color:var(--paper-dim);display:grid;gap:6px}.trust-list a{color:var(--gold-bright);text-decoration:underline}.flash{margin:15px auto 0;padding:12px 16px;background:var(--navy-700);border-left:3px solid var(--gold)}
.empty-state,.done-panel{text-align:center;padding:80px 20px;border:1px solid var(--line);background:var(--navy-800)}.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}.cart-item{display:grid;grid-template-columns:150px 1fr auto;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);transition:.2s}.cart-item.removing{opacity:.35}.cart-item img{width:150px;background:var(--navy-800)}.cart-item h2{font-size:1.15rem}.cart-item input[type=number]{width:72px}.subtotal{font-weight:700}.text-button,.back-link{background:none;border:0;color:var(--gold-bright);padding:5px 0;text-decoration:underline;cursor:pointer}.order-summary,.form-panel{background:var(--navy-800);border:1px solid var(--line);padding:28px}.order-summary{position:sticky;top:100px}.order-summary>div{display:flex;justify-content:space-between;gap:15px;margin:12px 0}.order-summary hr{border:0;border-top:1px solid var(--line)}
.field{display:grid;gap:6px;margin-bottom:20px}.field label span{color:#ff728b;font-size:.75rem}.field input,.field textarea{width:100%}fieldset{margin:30px 0;border:0;padding:0}legend{font-family:var(--font-display);margin-bottom:10px}.radio-card{display:flex;gap:12px;padding:16px;border:1px solid var(--line);margin-bottom:10px}.radio-card span{display:grid}.radio-card small{color:var(--paper-dim)}.error-box,.notice{padding:18px 22px;margin-bottom:25px;border-left:4px solid var(--crimson);background:var(--navy-800)}.notice{border-color:var(--gold)}.form-error{color:#ff8da1}.steps{display:flex;gap:25px;list-style:none;padding:0;margin:20px 0 0;color:var(--paper-dim)}.steps li.active{color:var(--gold-bright)}.confirm-list{display:grid;grid-template-columns:100px 1fr}.confirm-list dt,.confirm-list dd{padding:12px 0;border-bottom:1px solid var(--line)}.confirm-list dd{margin:0}.success-mark{font-size:3rem;color:var(--gold-bright)}.order-number{display:block;font-size:1.7rem;color:var(--gold-bright);margin:8px 0 25px}
.auth-grid,.guild-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:30px}.member-card{min-height:300px;padding:35px;border:2px solid var(--gold);background:linear-gradient(135deg,var(--navy-700),var(--navy-900));box-shadow:inset 0 0 0 6px var(--navy-900);display:flex;flex-direction:column}.member-card h2{font-size:2rem;margin:14px 0 0}.member-emblem{display:block;width:46px;height:46px}.member-emblem svg{width:100%;height:100%}.member-meta{display:flex;flex-wrap:wrap;gap:24px;margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}.member-meta div{display:grid;gap:2px}.member-meta dt{font-size:.75rem;letter-spacing:.1em;color:var(--paper-dim)}.member-meta dd{margin:0;font-family:var(--font-display);font-size:1.05rem;color:var(--gold-bright)}.history-list article{padding:15px 0;border-bottom:1px solid var(--line)}.history-list article div{display:flex;justify-content:space-between}.history-items{list-style:none;margin:8px 0;padding:0;font-size:.85rem;color:var(--paper-dim)}.history-items li{padding:2px 0}.history-items-more{color:var(--gold-bright)}.legal-list{display:grid;grid-template-columns:220px 1fr;margin-bottom:70px}.legal-list dt,.legal-list dd{padding:18px;border-bottom:1px solid var(--line)}.legal-list dd{margin:0}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:700}
.quest-hero{min-height:550px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(13,19,38,.95),rgba(13,19,38,.2)),var(--quest-bg,url('/assets/img/quest-placeholder.svg')) top/cover}.quest-hero h1{font-size:clamp(3rem,7vw,6rem);line-height:1.1}.quest-meta{display:flex;gap:25px;color:var(--gold-bright)}.quest-content{display:grid;grid-template-columns:1.2fr .8fr;gap:45px}.rpg-window{border:4px double var(--paper);border-radius:6px;background:#080d1d;padding:32px;box-shadow:0 0 0 5px #080d1d,0 0 0 7px var(--paper)}.window-title{color:var(--gold-bright);font-family:var(--font-display)}.hp-bar{height:25px;background:#311522;border:2px solid var(--paper);margin-bottom:20px}.hp-bar span{display:block;height:100%;background:var(--crimson);font-size:.75rem;text-align:right;padding-right:6px;transition:width .8s}
@media(max-width:800px){.container{width:min(100% - 28px,1180px)}.header-inner{min-height:64px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--navy-900);padding:16px 20px;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.site-nav a{padding:12px}.header-search{padding:8px 0 16px;order:-1}.header-search input[type=search]{flex:1;width:auto}.hero-grid{min-height:auto;grid-template-columns:1fr;padding:65px 0 0;gap:35px}.hero-grid img{order:2}.hero-copy h1{font-size:2.9rem}.section{padding-block:60px}.category-grid,.product-grid{grid-template-columns:repeat(2,1fr);gap:12px}.product-body{padding:13px}.product-body h3{font-size:.96rem}.price small{display:block}.quest-banner,.guild-panel{padding:28px;align-items:flex-start;flex-direction:column;gap:20px}.quest-banner h2{font-size:1.8rem}.footer-grid,.catalog-tools{align-items:flex-start;flex-direction:column;gap:25px}.item-detail,.cart-layout,.checkout-layout,.auth-grid,.guild-dashboard,.quest-content{grid-template-columns:1fr}.item-detail{gap:30px}.cart-item{grid-template-columns:90px 1fr}.cart-item img{width:90px}.cart-item .subtotal{grid-column:2}.order-summary{position:static}.legal-list{grid-template-columns:1fr}.legal-list dt{padding-bottom:0;border:0;color:var(--gold-bright)}.legal-list dd{padding-top:5px}.quest-meta{flex-direction:column;gap:4px}.rpg-window{margin:8px}.section-heading.split{align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:420px){.category-grid,.product-grid{grid-template-columns:1fr 1fr}.category-card{padding:20px 8px}.category-card p{display:none}.button-row{flex-direction:column}.add-form{align-items:stretch;flex-direction:column}.product-body .badges{flex-wrap:wrap}.page-hero.compact{padding:42px 0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
