/* Akina TCG: shared visual contract. Do not use for Matcha. */
:root{--ak-paper:#F6F1E7;--ak-ink:#1A1511;--ak-action:#C22E1C;--ak-action-accent:#DF3A26;--ak-surface:#FFFDF8;--ak-muted:#6B6157;--ak-line:#C9BFB2;--ak-highlight:#F7C846;--ak-focus:#1679A2;--ak-font-display:'Archivo Black','Noto Sans JP',sans-serif;--ak-font-body:'Archivo','Noto Sans JP',sans-serif;--ak-font-data:'Space Mono','Noto Sans JP',monospace;--ak-type-hero:clamp(48px,7vw,104px);--ak-type-h1:clamp(36px,4.5vw,64px);--ak-type-h2:clamp(26px,3vw,36px);--ak-type-h3:22px;--ak-type-h4:18px;--ak-type-h5:16px;--ak-type-h6:14px;--ak-type-catalog:24px;--ak-type-body:16px;--ak-type-label:13px;--ak-type-data:11px;--ak-space-1:4px;--ak-space-2:8px;--ak-space-3:12px;--ak-space-4:16px;--ak-space-6:24px;--ak-space-8:32px;--ak-space-12:48px;--ak-space-16:64px;--ak-border:2px solid var(--ak-ink);--ak-shadow:4px 4px 0 var(--ak-ink);--ak-radius:0;--ak-shell:1200px}
html[lang^=ja]{--ak-font-display:'Noto Sans JP','Archivo Black',sans-serif;--ak-font-body:'Noto Sans JP','Archivo',sans-serif}
body{font-family:var(--ak-font-body);color:var(--ak-ink);background:var(--ak-paper);font-size:var(--ak-type-body);line-height:1.6}
html[lang^=ja] body{line-height:1.75}
h1,h2,h3{font-family:var(--ak-font-display);color:var(--ak-ink)}
h1{font-size:var(--ak-type-h1);line-height:1.08;letter-spacing:-.03em}
h2{font-size:var(--ak-type-h2);line-height:1.2;letter-spacing:-.02em}
h3{font-size:var(--ak-type-h3);line-height:1.3}
html[lang^=ja] h1,html[lang^=ja] h2,html[lang^=ja] h3{font-weight:900;line-height:1.3;letter-spacing:0}
body.ak-home h1{font-size:var(--ak-type-hero)}
article h2{font-size:clamp(24px,2.5vw,32px)}
.o-panel .o-panel-head h2,#singles-app .sg-heading h2,.ak-catalog-title{font-family:var(--ak-font-display);font-size:var(--ak-type-catalog);line-height:1.25;letter-spacing:-.02em;color:var(--ak-ink);margin:0;font-weight:900}
html[lang^=ja] .o-panel .o-panel-head h2,html[lang^=ja] #singles-app .sg-heading h2{letter-spacing:0;line-height:1.4}
.o-panel-head,.sg-heading{padding:24px 0 10px;gap:16px}
.o-stamp,#singles-app .sg-date,.ak-data{font-family:var(--ak-font-data);font-size:var(--ak-type-data);font-weight:400;line-height:1.6;letter-spacing:.1em;text-transform:uppercase;color:var(--ak-muted);margin:6px 0 0}
.o-tab{font-family:var(--ak-font-data);font-size:13px;font-weight:700;letter-spacing:.06em;min-height:44px}
html[lang^=ja] .o-tab{font-family:var(--ak-font-body);letter-spacing:.02em}
.o-tools input,.o-tools select,.sg-searchbar input,.sg-searchbar select,.sg-filters input,.sg-filters select{font-family:var(--ak-font-body);border:var(--ak-border);border-radius:var(--ak-radius);background:var(--ak-surface);min-height:48px}
#singles-app .sg-tools button,#singles-app .sg-filters label,#singles-app .sg-tools label{font-family:var(--ak-font-body)}
#singles-app .sg-card label,.o-name{font-family:var(--ak-font-display);font-size:16px;line-height:1.4}
#singles-app .sg-card strong,.o-price{font-family:var(--ak-font-data);font-size:18px;font-weight:700;line-height:1.4}
:focus-visible{outline:3px solid var(--ak-focus);outline-offset:3px}
@media(max-width:620px){:root{--ak-type-catalog:22px;--ak-type-h3:20px}.o-panel-head,.sg-heading{padding-top:20px}.o-panel .o-panel-head h2,#singles-app .sg-heading h2{font-size:var(--ak-type-catalog)}#singles-app .sg-card label,.o-name{font-size:14px}#singles-app .sg-card strong,.o-price{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

body h1.ak-role-h1{font-family:var(--ak-font-display);font-size:var(--ak-type-h1);line-height:1.08;color:var(--ak-ink);letter-spacing:-.03em}
body h2.ak-role-h2{font-family:var(--ak-font-display);font-size:var(--ak-type-h2);line-height:1.2;color:var(--ak-ink);letter-spacing:-.02em}
body h3.ak-role-h3{font-family:var(--ak-font-display);font-size:var(--ak-type-h3);line-height:1.3;color:var(--ak-ink)}
body.ak-home h1.ak-role-h1{font-size:var(--ak-type-hero)}
html[lang^=ja] body h1.ak-role-h1,html[lang^=ja] body h2.ak-role-h2,html[lang^=ja] body h3.ak-role-h3{line-height:1.35;letter-spacing:0;font-weight:900}
body .o-panel-head h2.ak-role-h2,#singles-app .sg-heading h2{font-size:var(--ak-type-catalog);line-height:1.25;color:var(--ak-ink)}
body article h2.ak-role-h2{font-size:clamp(24px,2.5vw,32px)}

body h4.ak-role-h4{font-size:var(--ak-type-h4)}body h5.ak-role-h5{font-size:var(--ak-type-h5)}body h6.ak-role-h6{font-size:var(--ak-type-h6)}
body h4.ak-role-h4,body h5.ak-role-h5,body h6.ak-role-h6{font-family:var(--ak-font-body);font-weight:700;line-height:1.4;color:var(--ak-ink)}
html[lang^=en] body h1.ak-role-h1,html[lang^=en] body h2.ak-role-h2,html[lang^=en] body h3.ak-role-h3,html[lang^=en] #singles-app .sg-heading h2{font-weight:400}

html[lang^=ja] body .o-panel-head h2.ak-role-h2,html[lang^=ja] #singles-app .sg-heading h2{line-height:1.4;letter-spacing:0}

/* GPT recommendation: icon and title share the first row. */
body .akina-order-chatgpt{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:14px;align-items:start}
body .akina-order-chatgpt > .akina-order-chatgpt__mark{grid-column:1;grid-row:1;width:32px;height:32px;margin:2px 0 0}
body .akina-order-chatgpt > h2.ak-role-h2{grid-column:2;grid-row:1;margin:0}
body .akina-order-chatgpt > p,body .akina-order-chatgpt > a,body .akina-order-chatgpt > button{grid-column:1/-1;margin:0}
body .akina-order-chatgpt > button .akina-chatgpt-mark{display:block;width:24px;height:24px;flex:none}
@media(max-width:620px){body .akina-order-chatgpt{grid-template-columns:28px minmax(0,1fr);column-gap:10px;row-gap:12px}body .akina-order-chatgpt > .akina-order-chatgpt__mark{width:28px;height:28px}}
