@font-face{font-family:'FZGameKai';src:url('/fonts/FZShengShiKaiShuS-B-GB.ttf') format('truetype');font-display:swap;}
/* Same world as the in-game login: grey ink-wash scenery, thick ink outlines, cream paper, gold buttons. */
:root{--ink:#232323;--ink-soft:#4a4740;--paper:#f6f2e8;--paper-deep:#e6dfcf;--muted:#6f685b;--gold:#f1d38c;--gold-deep:#d9ad55;--red:#b23a2c;--green:#3f6b3a;--focus:#c0563a;color-scheme:light;}
*{box-sizing:border-box;}
[hidden]{display:none!important;}
html,body{margin:0;min-height:100%;}
body{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:max(20px,env(safe-area-inset-top)) 16px max(28px,env(safe-area-inset-bottom));background:radial-gradient(120% 70% at 50% 28%,#fbf9f3 0%,#e9e5dc 46%,#cbc6bb 100%);font-family:'FZGameKai','STKaiti','KaiTi','FangSong',serif;color:var(--ink);}
.scene{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
.scene svg{position:absolute;left:50%;transform:translateX(-50%);}
.hills{bottom:0;width:max(100%,560px);height:42%;}
.target{top:2%;width:min(118vw,620px);opacity:.45;animation:spin 90s linear infinite;}
.card{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;}
.logo{width:min(300px,78%);height:auto;margin-bottom:-4px;filter:drop-shadow(0 6px 0 rgba(35,35,35,.18));user-select:none;}
.scroll{position:relative;width:100%;margin-top:30px;padding:46px 24px 22px;border:3px solid var(--ink);border-radius:16px;background:repeating-linear-gradient(0deg,rgba(120,100,60,.035) 0 2px,transparent 2px 5px),linear-gradient(180deg,var(--paper),var(--paper-deep));box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6.5px rgba(35,35,35,.55),0 6px 0 var(--ink),0 18px 30px rgba(35,30,20,.25);}
.ribbon{position:absolute;top:-24px;left:50%;transform:translateX(-50%);width:min(220px,70%);}
.ribbon h1{margin:0;padding:8px 10px 7px;border:3px solid var(--ink);border-radius:8px;background:linear-gradient(180deg,#fbe7b3,var(--gold-deep));box-shadow:0 4px 0 var(--ink);font-size:22px;font-weight:400;letter-spacing:.12em;text-align:center;}

.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;}
.tabs button{min-height:44px;border:2px solid var(--ink);border-radius:10px;background:transparent;font:inherit;font-size:17px;color:var(--muted);cursor:pointer;}
.tabs button[aria-selected=true]{background:var(--ink);color:var(--paper);}
form{display:flex;flex-direction:column;gap:10px;}
label{display:flex;flex-direction:column;gap:6px;font-size:16px;}
input{min-height:46px;padding:0 14px;border:2px solid var(--ink-soft);border-radius:10px;background:#fffdf7;font:inherit;font-size:17px;color:var(--ink);}
input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;}
input[aria-invalid=true]{border-color:var(--red);background:#fff6f3;}
small{margin-top:-4px;color:var(--muted);font-size:13px;line-height:1.5;}
.msg{margin:0;font-size:15px;line-height:1.5;color:var(--red);}
.msg:empty{display:none;}
.msg.ok{color:var(--green);}
button,.gold{font:inherit;cursor:pointer;}
.gold{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:4px;border:3px solid var(--ink);border-radius:12px;background:linear-gradient(180deg,#fff1c8,var(--gold));box-shadow:0 4px 0 var(--ink);font-size:20px;letter-spacing:.1em;color:var(--ink);text-decoration:none;transition:transform .08s,box-shadow .08s;}
.gold:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink);}
.gold:disabled{opacity:.6;cursor:progress;}
.plain{min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:10px;background:#fffdf7;font-size:16px;color:var(--ink);}
.plain:hover{background:#fff;}
.plain:disabled{opacity:.6;cursor:progress;}

.facts{display:grid;gap:0;margin:0 0 16px;border:2px solid var(--ink-soft);border-radius:12px;background:rgba(255,253,247,.7);}
.facts div{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-top:1px dashed rgba(35,35,35,.25);}
.facts div:first-child{border-top:0;}
.facts dt{color:var(--muted);font-size:15px;}
.facts dd{margin:0;font-size:16px;text-align:right;word-break:break-all;}
.play-note{margin:0 0 18px;padding:12px 14px;border:2px dashed rgba(35,35,35,.35);border-radius:12px;font-size:15px;line-height:1.6;text-align:center;color:var(--ink-soft);}
.lead{margin:0 0 10px;font-size:18px;line-height:1.6;text-align:center;}
.lead.muted{margin-bottom:20px;font-size:15px;color:var(--muted);}
details{margin-bottom:14px;border:2px solid var(--ink-soft);border-radius:12px;background:rgba(255,253,247,.55);}
summary{min-height:46px;display:flex;align-items:center;padding:0 14px;font-size:17px;cursor:pointer;list-style:none;}
summary::-webkit-details-marker{display:none;}
summary::after{margin-left:auto;content:'展开';font-size:13px;color:var(--muted);}
details[open] summary::after{content:'收起';}
details form{padding:0 14px 14px;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

@keyframes spin{to{transform:translateX(-50%) rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.target{animation:none;}.gold{transition:none;}}
@media (max-width:360px){.scroll{padding:44px 16px 18px;}.row{grid-template-columns:1fr;}}
