:root {
    --acw-brand:#e8622c; --acw-accent:#f2a03d; --acw-ink:#1f1b18; --acw-muted:#81736a;
    --acw-line:#e9e2dc; --acw-surface:#fff; --acw-background:#faf9f7;
    --acw-success:#2e9e6b; --acw-danger:#d64545; --acw-info:#3c7bd6;
    --acw-space-1:6px; --acw-space-2:10px; --acw-space-3:14px; --acw-space-4:18px; --acw-space-5:24px; --acw-space-6:32px;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--acw-background); color:var(--acw-ink); font:14px/1.7 "Microsoft YaHei",system-ui,sans-serif; letter-spacing:0; }
a { color:inherit; text-decoration:none; }
button,select,input { font:inherit; }
button,a,summary,select { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--acw-brand); outline-offset:3px; }
.acw-header { min-height:64px; padding:12px 40px; display:flex; align-items:center; justify-content:space-between; gap:18px; background:#fff; border-bottom:1px solid var(--acw-line); }
.acw-brand { display:flex; align-items:center; gap:10px; font-weight:700; }
.acw-brand small { display:block; color:var(--acw-muted); font-size:10px; font-weight:400; }
.acw-mark { width:32px; height:32px; display:grid; place-items:center; background:var(--acw-brand); color:#fff; border-radius:8px; }
.acw-header nav { display:flex; gap:24px; flex-shrink:0; }
.acw-header [aria-current] { color:var(--acw-brand); }
.acw-main { max-width:1440px; margin:0 auto; padding:32px 40px 60px; }
.acw-hero { padding:32px 0; max-width:850px; }
.acw-eyebrow { color:var(--acw-brand); font-size:12px; font-weight:700; }
h1 { font-size:38px; line-height:1.3; margin:14px 0 18px; overflow-wrap:anywhere; }
h2 { font-size:16px; margin:0 0 18px; }
p { overflow-wrap:anywhere; }
.acw-price { display:inline-block; color:var(--acw-brand); font-weight:700; }
.acw-section { padding:24px 0; border-top:1px solid var(--acw-line); }
.acw-overview { display:grid; grid-template-columns:7fr 5fr; gap:32px; }
.acw-counts { min-width:0; }
.acw-progress { margin:12px 0 16px; }
.acw-progress-label { display:flex; justify-content:space-between; gap:12px; align-items:center; font-size:13px; }
progress { width:100%; height:8px; border:0; border-radius:4px; overflow:hidden; display:block; margin-top:10px; background:var(--acw-line); accent-color:var(--acw-brand); }
progress::-webkit-progress-bar { background:var(--acw-line); }
progress::-webkit-progress-value { background:var(--acw-brand); }
progress::-moz-progress-bar { background:var(--acw-brand); }
.acw-muted { color:var(--acw-muted); font-size:12px; }
.acw-flow { min-width:0; }
.acw-flow ol { list-style:none; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); padding:0; gap:6px; margin:24px 0; }
.acw-flow li { text-align:center; display:grid; gap:10px; font-size:10px; }
.acw-flow i { font-size:22px; color:var(--acw-info); }
.acw-flow li:nth-child(2n) i { color:var(--acw-brand); }
.acw-flow li:nth-child(3n) i { color:var(--acw-success); }
.acw-faq { border-bottom:1px solid var(--acw-line); padding:14px 0; }
.acw-faq summary { cursor:pointer; font-weight:600; overflow-wrap:anywhere; }
.acw-faq p { margin:14px 0 0; color:var(--acw-muted); }
.acw-actions { display:flex; gap:14px; padding:24px 0; }
.acw-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 24px; border:1px solid var(--acw-brand); border-radius:8px; background:var(--acw-brand); color:#fff; cursor:pointer; font-weight:600; text-align:center; overflow-wrap:anywhere; }
.acw-button--secondary { background:#fff; color:var(--acw-brand); }
.acw-button:hover:not(:disabled) { filter:brightness(.96); }
.acw-button:active:not(:disabled) { transform:translateY(1px); }
.acw-button:disabled { opacity:.45; cursor:not-allowed; }
.acw-feedback { min-height:100px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; padding:18px 0; color:var(--acw-muted); }
.acw-feedback p { margin:0; }
.acw-feedback--error { color:var(--acw-danger); }
.acw-feedback--success { color:var(--acw-success); }
.acw-skeleton { width:100%; height:18px; background:#e9e9e9; animation:acw-pulse 1.2s ease-in-out infinite alternate; border-radius:4px; }
.acw-skeleton:last-child { width:70%; align-self:flex-start; }
.acw-state-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:18px; }
.acw-state-item { min-width:0; }
.acw-monster { margin:0; min-width:0; }
.acw-card { position:relative; width:100%; aspect-ratio:707/1000; overflow:hidden; border-radius:8px; background:#eceff2; container-type:inline-size; }
.acw-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.acw-card-data { position:absolute; inset:0; color:#000; font-family:Arial,"Microsoft YaHei",sans-serif; font-weight:700; pointer-events:none; }
.acw-card-data span { position:absolute; display:flex; align-items:center; justify-content:center; overflow:hidden; white-space:nowrap; letter-spacing:0; line-height:1; }
.acw-card-data__number { left:21%; top:16%; width:30%; height:10%; background:transparent; font-family:"Arial Narrow",Arial,sans-serif; font-size:17cqw; font-weight:500; }
.acw-card-data__emotion { left:58%; top:19.5%; width:33%; height:9%; overflow:visible!important; background:transparent; font-size:5.6cqw; }
.acw-card-data__emotion b { font:inherit; transform:rotate(13deg); transform-origin:center; }
.acw-card-data__emotion.is-long { font-size:4.3cqw; }
.acw-card-data__name { left:15%; top:86%; width:31%; height:7%; background:transparent; font-size:6.8cqw; }
.acw-card-data__creator { left:69%; top:80.8%; width:24%; height:6%; background:transparent; font-size:5.4cqw; font-weight:600; }
.acw-card-data__date { left:65%; top:89.2%; width:29%; height:5.5%; background:transparent; font-size:4.6cqw; font-weight:500; }
.acw-monster figcaption { min-height:64px; padding:12px 0; }
.acw-monster strong,.acw-monster figcaption span { display:block; font-size:12px; overflow-wrap:anywhere; }
.acw-monster figcaption span { color:var(--acw-muted); }
.acw-footer { border-top:1px solid var(--acw-line); padding:24px; text-align:center; color:var(--acw-muted); font-size:10px; }
select { min-height:36px; border:1px solid var(--acw-line); border-radius:4px; padding:4px 10px; background:#fff; }
@keyframes acw-pulse { to { opacity:.45; } }
@media(max-width:1023px) {
    .acw-header { padding:12px 24px; }
    .acw-main { max-width:600px; padding:24px 24px 40px; }
    h1 { font-size:26px; }
    .acw-overview { grid-template-columns:1fr; gap:24px; }
    .acw-state-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:480px) {
    .acw-header { padding:12px 16px; flex-wrap:wrap; }
    .acw-header nav { gap:18px; font-size:12px; }
    .acw-main { padding:18px 16px calc(32px + env(safe-area-inset-bottom)); }
    .acw-hero { padding:18px 0 24px; }
    h1 { font-size:23px; }
    .acw-actions { flex-direction:column; }
    .acw-state-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
}
@media(prefers-reduced-motion:reduce) { * { animation:none!important; transition:none!important; } }
