/* 烟雨江湖 — 自定义游戏主界面 */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=Noto+Serif+SC:wght@400;500;600;700&display=swap');
:root{--ink:#e8dfcc;--muted:#a89c85;--gold:#c5a66a;--gold2:#ebd29b;--bg:#12130f;--panel:#1a1b16;--panel2:#20211b;--line:rgba(201,173,113,.22);--jade:#7a9d84;--red:#bf6c5d;--blue:#7894ae;--shadow:0 20px 70px rgba(0,0,0,.38)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:'Noto Serif SC',serif}body{background:radial-gradient(ellipse at 52% -14%,rgba(134,112,70,.19),transparent 47%),linear-gradient(180deg,#151610,#10110e 82%);min-height:100vh}button,input{font:inherit}button{cursor:pointer;color:inherit}.app{max-width:1600px;margin:auto;padding:0 26px 34px}.topbar{height:75px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px}.seal{width:39px;height:39px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold2);font-size:22px;transform:rotate(45deg);border-radius:3px}.seal span{transform:rotate(-45deg)}.brand-title{font-size:17px;letter-spacing:.13em}.brand-sub{font:10px Cinzel,serif;letter-spacing:.22em;color:var(--gold);margin-top:4px}.topright{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:12px}.online{display:flex;align-items:center;gap:7px}.dot{width:7px;height:7px;background:#8dae83;border-radius:50%;box-shadow:0 0 10px #8dae83}.topbtn,.iconbtn{border:1px solid var(--line);background:#1b1c16;color:var(--gold2);padding:8px 12px;border-radius:3px}.layout{display:grid;grid-template-columns:236px minmax(440px,1fr) 282px;gap:17px;padding-top:18px;align-items:start}.panel{background:linear-gradient(180deg,rgba(31,32,25,.97),rgba(23,24,19,.98));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:4px}.side{padding:18px 16px}.eyebrow{font:10px Cinzel,serif;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}.profile-head{display:flex;align-items:center;gap:13px;margin:15px 0 16px}.avatar{width:52px;height:52px;border-radius:50%;border:1px solid rgba(201,173,113,.55);background:radial-gradient(circle at 50% 35%,#82765c,#352f24 64%,#191913);display:grid;place-items:center;color:#e6cf9f;font-size:24px}.player-name{font-size:17px}.rank{color:var(--muted);font-size:11px;margin-top:4px}.lv{color:var(--gold2);font:11px Cinzel,serif}.meters{display:grid;gap:10px}.meter-label{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:5px}.meter-label b{color:var(--ink);font-weight:500}.track{height:6px;background:#0f100d;border-radius:5px;overflow:hidden;border:1px solid rgba(255,255,255,.04)}.fill{height:100%;border-radius:5px;transition:width .4s}.hp{background:linear-gradient(90deg,#8e4039,#d77a65)}.mp{background:linear-gradient(90deg,#355778,#8ca9c6)}.exp{background:linear-gradient(90deg,#8c7141,#d5b970)}.section{border-top:1px solid rgba(201,173,113,.13);margin-top:18px;padding-top:15px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.stat{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.stat b{color:var(--ink);font-weight:500}.skill-list{display:grid;gap:7px;margin-top:11px}.skill-row{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.skill-row b{color:var(--gold2);font-weight:500}.equip{font-size:11px;line-height:1.9;color:var(--muted);margin-top:8px}.equip b{color:#c9b68e;font-weight:400}.maincol{display:grid;gap:14px}.scene{height:340px;position:relative;overflow:hidden;background:#171812;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:4px}.scene-image{position:absolute;inset:0;background:#222 url('/media/game_images/20260930_215439_少林寺的殿宇_松柏与晨钟_佛香弥漫_wuxia_scen_90f4cc.png') center 43%/cover no-repeat;filter:saturate(.7) brightness(.72)}.scene-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,13,10,.94),transparent 62%),linear-gradient(90deg,rgba(13,14,11,.46),transparent 70%)}.scene-copy{position:absolute;z-index:1;left:26px;bottom:24px;right:25px}.scene-location{font:11px Cinzel,serif;color:var(--gold2);letter-spacing:.18em}.scene-title{font-size:27px;letter-spacing:.12em;margin:7px 0}.scene-desc{font-size:12px;color:#d0c5ad;line-height:1.9;max-width:610px}.scene-actions{position:absolute;z-index:2;right:17px;top:16px;display:flex;gap:8px}.iconbtn{padding:8px 11px;background:rgba(18,19,15,.78);font-size:12px}.feed{min-height:270px;padding:17px 19px 10px}.feed-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(201,173,113,.15);padding-bottom:12px}.feed-title{letter-spacing:.12em;font-size:13px}.feed-state{font-size:10px;color:var(--jade)}.feed-body{height:208px;overflow:auto;padding:13px 3px 10px;scrollbar-width:thin;scrollbar-color:#5d513b transparent}.entry{font-size:13px;line-height:1.9;color:#d4cbb8;margin:0 0 11px;white-space:pre-wrap;overflow-wrap:anywhere}.entry.system{color:var(--muted);font-size:11px}.entry.story{color:#e2d5b9}.entry .tag{font-size:10px;color:var(--gold);letter-spacing:.12em;margin-right:8px}.entry img{display:block;max-width:min(100%,420px);max-height:430px;margin-top:10px;border:1px solid var(--line);border-radius:3px;box-shadow:var(--shadow)}.compose{display:flex;gap:9px;margin-top:12px}.compose input{flex:1;min-width:0;background:#11120e;border:1px solid rgba(201,173,113,.22);border-radius:3px;padding:12px 14px;color:var(--ink);outline:none;font-size:13px}.compose input:focus{border-color:rgba(201,173,113,.65)}.compose input::placeholder{color:#746d5e}.send{background:linear-gradient(180deg,#b69a61,#967941);border:0;border-radius:3px;padding:0 20px;color:#15140f;font-weight:600}.quick{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.quick button,.chip{background:#202119;border:1px solid rgba(201,173,113,.19);color:#c7b88f;border-radius:3px;padding:6px 10px;font-size:11px;transition:.15s}.quick button:hover,.chip:hover{border-color:var(--gold);color:#f0d99f;background:#28271d}.rightcol{display:grid;gap:14px}.map-panel,.arts-panel,.people-panel{padding:17px 15px}.map-head{display:flex;align-items:center;justify-content:space-between}.map{height:182px;position:relative;margin:15px 0 8px;background:radial-gradient(ellipse at center,rgba(95,109,80,.15),transparent 68%);border:1px solid rgba(201,173,113,.12);overflow:hidden}.map:before,.map:after{content:'';position:absolute;border:1px solid rgba(160,154,126,.13);border-radius:47%;width:250px;height:100px;transform:rotate(-28deg);left:5px;top:39px}.map:after{width:190px;height:125px;left:57px;top:12px;transform:rotate(34deg)}.map-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}.map-lines line{stroke:rgba(201,173,113,.35);stroke-width:1.2;stroke-dasharray:4 4}.map-node{position:absolute;z-index:2;display:grid;place-items:center;width:12px;height:12px;border-radius:50%;background:#8f8060;border:2px solid #d8c28b;box-shadow:0 0 10px rgba(197,166,106,.35)}.map-node.here{width:17px;height:17px;background:#e1bd73;box-shadow:0 0 18px rgba(225,189,115,.7)}.map-label{position:absolute;z-index:2;font-size:9px;color:#beb39b;white-space:nowrap;text-shadow:0 1px 4px #000}.map-caption{font-size:10px;color:var(--muted);display:flex;justify-content:space-between}.map-caption b{color:var(--gold2);font-weight:400}.arts-list,.people-list{display:grid;gap:8px;margin-top:13px}.art-row,.person-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#d0c6b1}.art-row small,.person-row small{color:var(--muted);font-size:10px}.art-row button{border:0;background:none;color:var(--gold);font-size:10px;padding:3px}.person-row{justify-content:flex-start;gap:9px}.person-mark{width:7px;height:7px;border:1px solid var(--jade);border-radius:50%}.person-mark.hostile{border-color:var(--red)}.quest{padding:14px 15px}.quest-text{font-size:11px;line-height:1.75;color:#c8bea8;margin-top:10px}.quest-text b{color:var(--gold2);font-weight:500}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#24241b;border:1px solid var(--line);padding:10px 17px;border-radius:3px;font-size:12px;color:var(--gold2);transition:.25s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}.login{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:rgba(10,11,9,.78);backdrop-filter:blur(8px)}.login.hidden{display:none}.login-card{width:min(420px,calc(100vw - 32px));padding:30px;background:#1b1c16;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:4px}.login-card h2{font-size:22px;font-weight:500;letter-spacing:.12em;margin:0 0 7px}.login-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 20px}.login-card input{width:100%;margin:6px 0;background:#11120e;border:1px solid var(--line);padding:12px;color:var(--ink);border-radius:3px;outline:none}.login-card .send{width:100%;height:43px;margin-top:9px}.login-note{font-size:10px;color:var(--muted);margin-top:11px}.mobile-tabs{display:none}.hidden{display:none!important}
@media(max-width:1150px){.layout{grid-template-columns:215px minmax(380px,1fr)}.rightcol{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.map{height:165px}}
@media(max-width:760px){.app{padding:0 10px 90px}.topbar{height:60px}.brand-title{font-size:14px}.topright .clock{display:none}.layout{display:flex;flex-direction:column;padding-top:10px;gap:10px}.maincol{order:0;width:100%}.scene{height:270px}.scene-copy{left:17px;bottom:17px}.scene-title{font-size:22px}.scene-desc{font-size:11px}.feed{min-height:260px;padding:13px}.feed-body{height:210px}.leftside{order:1;width:100%}.rightcol{order:2;width:100%;display:grid;grid-template-columns:1fr 1fr}.map-panel{grid-column:1/-1}.map{height:185px}.arts-panel,.people-panel{min-height:135px}.mobile-tabs{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;background:rgba(19,20,16,.96);border-top:1px solid var(--line);justify-content:space-around;padding:10px 5px calc(10px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}.mobile-tabs button{border:0;background:none;color:var(--muted);font-size:10px;display:grid;gap:4px;justify-items:center}.mobile-tabs button span{font-size:18px;color:var(--gold)}.compose input{padding:11px}.send{padding:0 15px}}
