*{box-sizing:border-box}
html{min-height:100%;background:var(--bg-950)}
body{position:relative;min-height:100dvh;color:var(--text);background:
linear-gradient(90deg,rgba(7,6,4,.77),rgba(9,7,5,.36) 44%,rgba(7,6,4,.68)),
linear-gradient(180deg,rgba(6,5,3,.25),rgba(6,5,3,.72)),
url("../images/fantasy-forest.webp") center/cover fixed no-repeat;isolation:isolate}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.55;overflow-x:hidden}
body::before,body::after{display:none}
button,input,select{font:inherit;color:inherit}
select{color-scheme:dark;background-color:#15110d;color:var(--text)}
select option{background:#15110d;color:#f4ecdc}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.42}
a{color:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Georgia,"Noto Serif SC","Songti SC",serif}
:focus-visible{outline:none;box-shadow:var(--focus)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hidden{display:none!important}
.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--text-soft)}
.icon-button:hover{background:var(--surface-hover)}
.primary-button,.secondary-button,.ghost-button{min-height:44px;padding:10px 18px;border-radius:10px;font-weight:700;transition:.18s var(--ease)}
.primary-button{border:1px solid rgba(223,189,114,.42);background:linear-gradient(180deg,var(--red-light),var(--red));box-shadow:0 8px 20px rgba(93,26,23,.25)}
.primary-button:hover{filter:brightness(1.08)}
.secondary-button{border:1px solid var(--line-strong);background:rgba(223,189,114,.08)}
.secondary-button:hover{background:rgba(223,189,114,.14)}
.ghost-button{border:1px solid transparent;background:transparent;color:var(--text-soft)}
.ghost-button:hover{border-color:var(--line);background:var(--surface-soft)}
.tag{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:rgba(223,189,114,.09);color:var(--text-soft);font-size:13px}
.kicker{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.muted{color:var(--muted)}
.empty-state{display:grid;place-items:center;min-height:180px;padding:32px;color:var(--muted);text-align:center}
#toast-root{position:fixed;right:20px;bottom:84px;z-index:100;display:grid;gap:8px}
.toast{max-width:360px;padding:12px 16px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-strong);box-shadow:var(--shadow);animation:toastIn .2s var(--ease)}
@keyframes toastIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* M10 */
body.dialog-open{overflow:hidden;touch-action:none}
input,select,textarea{font-size:max(16px,1em)}
