:root{font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:#3c3023;background:#102e2b;font-synthesis:none;--jade:#244c43;--gold:#bd985c;--paper:#f4e8cd;--muted:#756651}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh;background:radial-gradient(ellipse at top,#31594c,#122f2a 80%)}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;padding:9px 16px;border:1px solid #a5834b;border-radius:6px;background:linear-gradient(#355f52,#204136);color:#fff2cf;box-shadow:inset 0 1px #ffffff30,0 2px 3px #0002;touch-action:manipulation}button.secondary{background:linear-gradient(#f6eacf,#dfceaa);color:#4d3b23}button:disabled{cursor:default;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #45a794;outline-offset:2px}input,select{padding:12px;border:1px solid #b5a27d;background:#fff8e8;color:#3d3226;border-radius:5px;min-height:44px;width:100%}label{display:grid;gap:7px;color:#65513a}h1,h2,h3,p{margin:0}h1,h2,h3,.brand strong{font-family:"Songti SC","Noto Serif CJK SC",serif}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}p{line-height:1.7}small,.muted{color:var(--muted)}.topbar{display:flex;gap:16px;align-items:center;padding:12px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));border-bottom:1px solid #a68851;color:#f2e3b8;background:linear-gradient(#244b42,#163b33)}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand strong{font-size:26px;letter-spacing:5px}.brand small{display:block;color:#cbbd98;font-size:11px;margin-top:3px;letter-spacing:1px}.seal{font-family:serif;border:1px solid #c7ad72;font-size:25px;padding:4px 7px;color:#e4c98c}.status{font-size:12px;color:#b7ddc4}.status.error{color:#ffc18d}#notice{margin:12px auto;padding:11px 16px;max-width:1320px;color:#e6dfbd;background:#294d415c;border-left:3px solid #c3a76b;min-height:42px;font-size:13px;line-height:1.5}#notice.error{border-color:#e59c79;color:#ffccaf}main{max-width:1320px;margin:0 auto;padding:0 16px 24px}footer{display:flex;gap:20px;justify-content:space-between;max-width:1320px;margin:auto;padding:12px 20px;color:#b6bfa6;font-size:11px;flex-wrap:wrap}.panel{border:2px solid #b49b63;border-radius:10px;background:linear-gradient(115deg,#fff5db,#ede0be);box-shadow:inset 0 0 0 3px #d5c394,0 8px 25px #0003;padding:24px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1000px;margin:28px auto}.intro{padding:30px 16px;color:#eee3bc;display:grid;align-content:center;gap:15px}.intro p{color:#c5cbb1;font-size:14px}.eyebrow{font-size:12px;letter-spacing:4px;color:#a78952}.stack{display:grid;gap:16px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}.hint{font-size:12px;line-height:1.6;color:#756448}.toolbar{display:flex;gap:8px;margin-bottom:15px;overflow:auto;padding:2px}.toolbar button{flex:1;white-space:nowrap}.toolbar button.active{background:linear-gradient(#e6cea0,#bc985e);color:#342b1e}.hero-summary{display:flex;gap:20px;align-items:center;margin-bottom:15px;padding:16px 22px}.hero-summary h2{margin-bottom:5px}.hero-summary .stats{display:flex;gap:22px;flex-wrap:wrap;margin-left:auto}.stat strong{display:block;font-size:18px;color:#234c40}.stat span{font-size:11px;color:#7a674c}.columns{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.card{padding:16px;border:1px solid #c8b489;border-radius:6px;background:#fff9e780;display:grid;gap:10px;align-content:start}.card.selected{border:2px solid #2f6b56;background:#e6efda}.list{display:grid;gap:10px}.item{padding:12px;border-bottom:1px solid #c8b78d}.badge{display:inline-block;font-size:11px;background:#e2d1a9;border:1px solid #b4a06e;border-radius:3px;padding:3px 7px;color:#654f2e}.section-head{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}progress{width:100%;height:9px;accent-color:#37705b}.map{height:240px;position:relative;overflow:hidden;border:1px solid #8f946d;border-radius:8px;background:linear-gradient(90deg,transparent 49.5%,#c8c39760 50%,transparent 50.5%),linear-gradient(transparent 49.5%,#c8c39760 50%,transparent 50.5%),radial-gradient(ellipse,#c7ce99,#7b9b70);background-size:40px 40px,40px 40px,100% 100%;margin:10px 0}.player{position:absolute;transform:translate(-50%,-50%);font-size:10px;white-space:nowrap;color:#24352a;text-align:center}.player:before{content:'';display:block;border:2px solid #fff4ca;width:12px;height:12px;border-radius:50%;background:#334d79;margin:0 auto 3px;box-shadow:0 1px 4px #0008}.player.self:before{background:#a63c31;width:16px;height:16px}.compass{display:grid;grid-template-columns:repeat(3,50px);gap:5px;justify-content:center}.compass button{padding:6px}.compass button:first-child{grid-column:2}.compass button:nth-child(2){grid-column:1}.compass button:last-child{grid-column:2}.gear-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.gear-grid .card{border-top:3px solid #a48f58}.star{color:#9f6926;letter-spacing:2px}.wide{grid-column:1/-1}.rules{font-size:12px;background:#e8d7b0;padding:12px;border-radius:6px;line-height:1.7}.factions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.factions label{display:block;border:1px solid #c4ae80;padding:13px;border-radius:6px;cursor:pointer}.factions input{width:auto;min-height:0;margin:0 6px 0 0}.factions p{font-size:12px;margin-top:7px}.empty{text-align:center;padding:35px;color:#80715a}.log{max-height:260px;overflow:auto;font-size:13px;line-height:1.8}.error-box{color:#8d3829}.subtext{font-size:12px;line-height:1.6}.auth-actions button{flex:1}.retry{margin-left:12px}.portrait-note{display:none}@media(max-width:850px){.topbar{padding:9px 16px;gap:10px}.brand strong{font-size:22px}.brand small{font-size:10px}.panel{padding:18px}.auth-layout{margin:10px auto;gap:14px}.hero-summary{gap:12px}.hero-summary .stats{gap:13px}.columns{grid-template-columns:1fr 1fr}.map{height:180px}.stat strong{font-size:15px}#notice{margin:8px 16px;font-size:12px}.intro{padding:10px}.intro h1{font-size:25px}.toolbar button{font-size:13px;padding:8px}.gear-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gear-grid .card{padding:12px}.gear-grid h3{font-size:16px}.gear-grid button{padding:8px}.topbar>button{padding:7px 10px;font-size:12px}}@media(max-width:600px) and (orientation:portrait){.auth-layout,.columns{grid-template-columns:1fr}.intro{display:none}.hero-summary{flex-wrap:wrap}.hero-summary .stats{margin-left:0}.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status{max-width:85px}.brand small{display:none}.topbar{gap:7px}.portrait-note{display:block}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
