:root{color-scheme:light;--bg:#f4f5f2;--surface:#fff;--surface-2:#edf2ee;--gold:#166547;--text:#17221d;--muted:#5d6963;--line:#d4dcd6;--ok:#166547;--site-shell-accent:#166547}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.65}
.skip-link{position:fixed;top:-5rem;left:1rem;z-index:20;padding:.65rem 1rem;background:var(--gold);color:#fff}
.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:.8rem clamp(1rem,5vw,5rem);border-bottom:1px solid var(--line);background:rgb(255 255 255/.96);backdrop-filter:blur(10px)}
.brand{display:inline-flex;min-height:44px;align-items:center;gap:.6rem;color:var(--text);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;background:#fff}
.brand-mark img{width:20px;height:20px;object-fit:contain}
.brand-copy{display:grid}
.brand-copy small{color:var(--muted);font-size:.52rem;font-weight:500}
.site-header nav{display:flex;gap:1.25rem}
.site-header nav a{display:inline-flex;min-height:44px;align-items:center;color:var(--muted);font-size:.76rem;text-decoration:none}
.site-header nav a[aria-current=page]{color:var(--gold)}
main{width:min(1180px,100%);margin:auto;padding:clamp(3rem,8vw,6rem) clamp(1rem,5vw,5rem)}
.account-intro{max-width:820px}
.eyebrow{margin:0 0 .55rem;color:var(--gold);font-size:.66rem;font-weight:800;letter-spacing:.14em}
.account-intro h1,.section-heading h2,.panel h2{margin:0;font-family:"Noto Serif JP",Georgia,"Yu Mincho",serif;font-weight:400;letter-spacing:0}
.account-intro h1{font-size:clamp(2.7rem,6vw,4.8rem);line-height:1.04}
.account-intro h1 em{color:var(--gold);font-style:normal}
.account-intro>p:last-child{max-width:48rem;color:var(--muted)}
.member-menu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:2.2rem;border:1px solid var(--line)}
.member-menu a{display:flex;min-height:54px;align-items:center;justify-content:center;border-right:1px solid var(--line);padding:.65rem;color:var(--text);font-size:.72rem;font-weight:800;text-align:center;text-decoration:none}
.member-menu a:last-child{border-right:0}
.member-menu a:hover{background:var(--surface-2);color:var(--gold)}
.account-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1rem;margin-top:2rem}
.panel{min-width:0;scroll-margin-top:84px;padding:1.4rem;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 24px rgb(23 34 29/.04)}
.panel-auth{grid-row:span 2}
.panel-wide{grid-column:1/-1}
.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}
.panel h2{font-size:1.65rem}
.state-chip{flex:0 0 auto;padding:.3rem .55rem;border:1px solid var(--line);color:var(--muted);font-size:.64rem;font-weight:800}
.panel-content,.order-history{min-height:130px;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}
.panel-content dl,.order-history dl{margin:0}
.panel-content dl div,.order-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.panel-content dd{margin:0;color:var(--text);text-align:right}
.order-row{grid-template-columns:minmax(0,1fr) auto}
.order-row div{display:grid;gap:.15rem}
.order-row small{color:var(--muted)}
.order-row strong{color:var(--gold)}
.action-host{margin-top:1rem}
.auth-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1rem}
.auth-tabs button,.auth-form button,.logout-button,.tracking-action button{min-height:44px;border:1px solid var(--gold);padding:.65rem .9rem;background:transparent;color:var(--text);font:700 .75rem inherit;cursor:pointer}
.auth-tabs button{width:100%;min-height:48px}
.auth-tabs button[aria-pressed=true],.auth-form button{background:var(--gold);color:#fff}
.auth-tabs button:disabled,.auth-form button:disabled,.tracking-action button:disabled{cursor:not-allowed;opacity:.5}
.auth-form{display:grid;gap:.85rem}
.auth-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.7rem}
.auth-form input,.identity-document-form input,.identity-document-form select{width:100%;min-height:46px;border:1px solid var(--line);padding:.7rem;background:#fff;color:var(--text);font:inherit}
.auth-form input:disabled{cursor:not-allowed;opacity:.55}
.auth-helper-row{display:flex;justify-content:flex-end;margin-top:-.35rem}
.auth-helper-row .password-reset-link{min-height:44px;border:0;padding:.25rem 0;background:transparent;color:var(--gold);text-align:right;text-decoration:underline}
.submit-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
.service-unavailable{max-width:28rem;color:#8a4b00;font-size:.74rem;font-weight:700}
.payment-provider-action{display:grid;justify-items:end}
.payment-provider-link{display:inline-flex;min-height:44px;align-items:center;border:1px solid var(--gold);padding:.55rem .75rem;color:var(--text);font-size:.7rem;font-weight:800;text-decoration:none}
.form-message{margin:0;color:var(--muted);font-size:.7rem}
.tracking-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.tracking-row>div:first-child{display:grid;gap:.15rem}
.tracking-row small{color:var(--muted)}
.tracking-action{display:grid;justify-items:end;gap:.35rem}
.tracking-row>.order-detail{grid-column:1/-1;width:100%}
footer{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:2rem;padding:2rem clamp(1rem,5vw,5rem);border-top:1px solid #26342d;background:#111815;color:#c7d0cb}
footer p{margin:0;font-size:.72rem}
footer>a:last-child{color:var(--text);font-size:.76rem}
footer .brand,footer .footer-links a{color:#fff}
.footer-links a{display:inline-flex;min-height:44px;align-items:center}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
footer a:focus-visible{outline-color:#fff}
@media(max-width:760px){.site-header{padding-inline:1rem}
.site-header nav{display:none}
.brand-copy small{display:none}
.account-intro h1{font-size:2.7rem}
.member-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
.member-menu a{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.member-menu a:nth-child(2n){border-right:0}
.member-menu a:last-child{grid-column:1/-1;border:0}
.account-grid{grid-template-columns:1fr}
.panel-auth{grid-row:auto}
.panel-wide{grid-column:auto}
.panel h2{font-size:1.35rem}
footer{grid-template-columns:1fr}
.panel-content dl div{grid-template-columns:1fr}
.panel-content dd{text-align:left}
.tracking-row{grid-template-columns:1fr}
.tracking-action{justify-items:start}
.payment-provider-action{justify-items:start}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}

.order-detail{grid-column:1/-1;min-width:0;margin-top:.45rem;padding:1rem;border:1px solid var(--line);background:#f7f9f7;color:var(--muted)}
.order-detail[hidden]{display:none}
.order-detail-list{display:grid;gap:0;margin:0}
.order-detail-list div{display:grid;grid-template-columns:minmax(8rem,.7fr) minmax(0,1.3fr);gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.order-detail-list dt{color:var(--muted)}
.order-detail-list dd{min-width:0;margin:0;color:var(--text);overflow-wrap:anywhere;text-align:right}
.order-detail h4{margin:1.15rem 0 .55rem;color:var(--text);font-size:.8rem}
.order-tracking-link{display:inline-flex;min-height:44px;align-items:center;margin-top:1rem;border:1px solid var(--gold);padding:.55rem .75rem;color:var(--text);font-size:.72rem;font-weight:800;text-decoration:none}
.order-timeline{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}
.order-timeline li{display:grid;gap:.15rem;padding-left:.85rem;border-left:2px solid var(--gold)}
.order-timeline time{color:var(--muted);font-size:.68rem}
.order-timeline b{color:var(--text);font-size:.74rem}
.order-timeline span{color:var(--muted);font-size:.72rem;overflow-wrap:anywhere}

.password-reset-panel{display:grid;gap:1rem;padding-top:.25rem}
.password-reset-panel h3{margin:0;color:var(--text);font-size:1rem}
.password-reset-intro{margin:0;color:var(--muted);font-size:.76rem}
.password-reset-confirm{padding-top:1rem;border-top:1px solid var(--line)}
.password-reset-confirm[hidden]{display:none}
.text-button{justify-self:start;min-height:44px;border:0;background:transparent;color:var(--gold);font:700 .74rem inherit;text-decoration:underline;cursor:pointer}

.identity-document-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem;padding:1rem;border:1px solid var(--line);background:#fff}
.identity-document-form label{display:grid;gap:.3rem;color:var(--muted);font-size:.7rem;font-weight:700}
.identity-document-form label:nth-of-type(3),.identity-document-form .identity-guidance,.identity-document-form .form-message{grid-column:1/-1}
.identity-document-form button,.identity-document-list button{min-height:44px;border:1px solid var(--gold);padding:.6rem .8rem;background:var(--gold);color:#fff;font:700 .72rem inherit;cursor:pointer}
.identity-document-form button:disabled,.identity-document-list button:disabled{cursor:not-allowed;opacity:.55}
.identity-guidance,.identity-review-reason,.bank-transfer-note{margin:.6rem 0;color:var(--muted);font-size:.72rem;white-space:pre-line}
.identity-documents-host{margin-top:.75rem}
.identity-document-list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}
.identity-document-list li{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.45rem 0}
.identity-document-list span{display:grid;gap:.1rem}
.identity-document-list small{color:var(--muted)}
.identity-document-list button{flex:0 0 auto;background:transparent;color:var(--text)}
.identity-document-actions{display:flex;align-items:end;justify-content:flex-end;gap:.4rem;flex-wrap:wrap}
.identity-retry-file{display:grid;gap:.2rem;color:var(--muted);font-size:.66rem;font-weight:700}
.identity-retry-file input{max-width:14rem;min-height:44px;border:1px solid var(--line);padding:.45rem;background:#fff;color:var(--text)}
.bank-transfer-instructions{margin-top:.65rem!important;padding:.75rem;border:1px solid var(--line);background:#fff}

@media(max-width:760px){
  .order-detail-list div{grid-template-columns:1fr;gap:.15rem}
  .order-detail-list dd{text-align:left}
  .order-tracking-link{width:100%;justify-content:center;text-align:center}
  .identity-document-form{grid-template-columns:1fr}
  .identity-document-form label:nth-of-type(3),.identity-document-form .identity-guidance,.identity-document-form .form-message{grid-column:auto}
  .identity-document-list li{align-items:stretch;flex-direction:column}
  .identity-document-actions{justify-content:stretch}
  .identity-retry-file,.identity-retry-file input,.identity-document-actions button{width:100%;max-width:none}
}
