@font-face { font-family:"Minecraft"; src:url("/assets/fonts/Minecraft.ttf") format("truetype"); font-display:swap; }
@font-face { font-family:"Noto Sans Local"; src:url("/assets/fonts/NotoSans-Regular.ttf") format("truetype"); font-style:normal; font-weight:100 900; font-display:swap; }
@font-face { font-family:"Noto Sans Local SC"; src:url("/assets/fonts/NotoSansSC-Regular.ttf") format("truetype"); font-style:normal; font-weight:100 900; font-display:swap; }
:root { --ink:#382820; --muted:#77594d; --line:#d9b09d; --paper:#b58269; --white:#fff7f3; --leaf:#88614f; --lime:#e3a384; --orange:#cf7a5d; --shadow:0 18px 50px rgba(74,45,34,.18); --block-size:clamp(48px,5vmin,80px); --underground-top:40%; --site-font:system-ui,sans-serif; }
html[data-site-font="system"] { --site-font:system-ui,sans-serif; }
html[data-site-font="noto-sans"] { --site-font:"Noto Sans Local SC","Noto Sans Local",system-ui,sans-serif; }
html[data-site-font="minecraft"] { --site-font:"Minecraft","Noto Sans Local SC","Noto Sans Local",system-ui,sans-serif; }
* { box-sizing:border-box; }
html { max-width:100%; overflow-x:clip; scroll-behavior:smooth; }
body { width:100%; max-width:100%; margin:0; overflow-x:clip; background:#6d4c34; color:var(--ink); font-family:var(--site-font); line-height:1.55; }
html[data-site-font] body :not(code,kbd,pre,samp) { font-family:var(--site-font) !important; }
main { position:relative; isolation:isolate; width:100%; max-width:100%; min-height:calc(100vh - 128px - var(--block-size)); padding-bottom:var(--footer-grid-offset,0px); background:#78b5e6; }
main::before,main::after { content:none; }
main > * { position:relative; z-index:1; }
[data-app-content] { transition:opacity .14s ease; }
[data-app-content][aria-busy="true"] { opacity:.58; }
.has-global-loading { cursor:progress; }
.global-loading { position:fixed; z-index:2147483647; inset:0; display:grid; place-content:center; gap:12px; padding:24px; font:700 13px "Noto Sans SC",sans-serif; letter-spacing:.08em; text-align:center; opacity:0; visibility:hidden; pointer-events:none; }
.global-loading.is-visible { opacity:1; visibility:visible; pointer-events:auto; }
.global-loading img { width:72px; height:72px; margin:auto; image-rendering:auto; }
.terrain-scene { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; image-rendering:pixelated; --celestial-parallax-x:0px; --celestial-parallax-y:0px; }
.terrain-sky { position:absolute; inset:0; background:linear-gradient(var(--sky-top,#5d9ddb) 0,var(--sky-middle,#86bee9) 42%,var(--sky-horizon,#bde0ee) 68%,var(--sky-ground,#d9e7d5) 100%); transition:background .8s linear; }
.terrain-sun,.terrain-moon { position:absolute; top:0; left:50%; width:clamp(58px,8vmin,108px); height:clamp(58px,8vmin,108px); transform:translate(calc(-50% + var(--celestial-parallax-x)),calc(-50% + var(--celestial-parallax-y))); background-position:center; background-repeat:no-repeat; background-size:100% 100%; opacity:0; }
.terrain-scene.is-sky-initialized .terrain-sun,.terrain-scene.is-sky-initialized .terrain-moon { transition:top 1s linear,left 1s linear,transform .28s ease-out,opacity 1.2s ease; }
.terrain-sun { background-image:url('/assets/background/sky/sun.png'); filter:drop-shadow(0 0 28px rgba(255,235,137,.7)) drop-shadow(0 0 80px rgba(255,224,130,.42)); }
.terrain-moon { background-image:url('/assets/background/sky/moon/full_moon.png'); filter:drop-shadow(0 0 22px rgba(211,230,255,.55)) drop-shadow(0 0 64px rgba(196,216,255,.3)); }
.terrain-rays { position:absolute; inset:0; pointer-events:none; opacity:0; --rays-x:50%; --rays-y:0px; --rays-color:255,236,180; --rays-alpha:.18; background:radial-gradient(ellipse 32% 25% at calc(var(--rays-x) + var(--celestial-parallax-x)) calc(var(--rays-y) + var(--celestial-parallax-y)),rgba(var(--rays-color),var(--rays-alpha)) 0%,rgba(var(--rays-color),.08) 34%,transparent 76%),repeating-conic-gradient(from 8deg at calc(var(--rays-x) + var(--celestial-parallax-x)) calc(var(--rays-y) + var(--celestial-parallax-y)),rgba(var(--rays-color),var(--rays-alpha)) 0deg 2.5deg,rgba(var(--rays-color),0) 2.5deg 14deg); -webkit-mask-image:radial-gradient(ellipse 78% 72% at calc(var(--rays-x) + var(--celestial-parallax-x)) calc(var(--rays-y) + var(--celestial-parallax-y)),rgba(0,0,0,.92) 0%,rgba(0,0,0,.7) 31%,rgba(0,0,0,.28) 55%,transparent 78%); mask-image:radial-gradient(ellipse 78% 72% at calc(var(--rays-x) + var(--celestial-parallax-x)) calc(var(--rays-y) + var(--celestial-parallax-y)),rgba(0,0,0,.92) 0%,rgba(0,0,0,.7) 31%,rgba(0,0,0,.28) 55%,transparent 78%); mix-blend-mode:screen; }
.terrain-scene.is-sky-initialized .terrain-rays { transition:--rays-x 1s linear,--rays-y 1s linear,opacity 1.2s ease; }
.sky-cloud-map { position:absolute; top:0; right:0; left:0; height:min(68vh,680px); background-image:url('/assets/background/sky/clouds.png'); background-repeat:repeat-x; background-position:0 12%; background-size:512px 512px; opacity:.14; animation:sky-cloud-map-drift 115s linear infinite; transition:opacity 1.2s ease; }
.minecraft-cloud { --cloud-scale:1; position:absolute; width:clamp(112px,17vw,250px); height:clamp(19px,2.7vw,40px); background:linear-gradient(#fff 0 52%,#e8f3fb 52%); filter:drop-shadow(0 4px 0 rgba(91,146,190,.16)); opacity:.92; animation:minecraft-cloud-drift var(--cloud-duration) linear infinite; transition:opacity 1.2s ease; }
.minecraft-cloud::before,.minecraft-cloud::after { position:absolute; display:block; background:#fff; content:""; }
.minecraft-cloud::before { top:-100%; left:21%; width:58%; height:100%; }
.minecraft-cloud::after { top:-150%; left:38%; width:25%; height:50%; }
.minecraft-cloud-one { --cloud-duration:72s; --cloud-scale:1; top:10vh; left:-24vw; }
.minecraft-cloud-two { --cloud-duration:108s; --cloud-scale:.68; top:24vh; left:-62vw; opacity:.72; }
.minecraft-cloud-three { --cloud-duration:88s; --cloud-scale:.84; top:4vh; left:-81vw; opacity:.82; }
.terrain-scene.is-night .sky-cloud-map { opacity:.035; }
.terrain-scene.is-night .minecraft-cloud { opacity:.2; }
.terrain-scene.is-day .terrain-moon,.terrain-scene.is-night .terrain-sun { opacity:0 !important; }
.terrain-layer { position:absolute; z-index:1; inset:-28px; overflow:hidden; pointer-events:none; image-rendering:pixelated; transform:translate3d(var(--terrain-layer-parallax-x,0),var(--terrain-layer-parallax-y,0),0); transition:transform .28s ease-out,filter .8s linear,opacity .8s linear; will-change:transform; }
.terrain-layer-far { --terrain-layer-block-size:clamp(24px,2.45vmin,40px); filter:brightness(var(--terrain-far-brightness,.82)) saturate(.58); }
.terrain-layer-middle { --terrain-layer-block-size:clamp(34px,3.55vmin,58px); z-index:2; filter:brightness(var(--terrain-middle-brightness,.88)) saturate(.78); }
.terrain-layer-dirt,.terrain-layer-stone { position:absolute; inset:0; background-repeat:repeat; background-size:var(--terrain-layer-block-size); }
.terrain-layer-dirt { background-color:#815533; background-image:url('/assets/background/dirt.png'); }
.terrain-layer-stone { background-color:#424242; background-image:url('/assets/background/stone.png'); }
.terrain-layer-stone i { position:absolute; display:block; width:var(--terrain-layer-block-size); height:var(--terrain-layer-block-size); background-position:center; background-repeat:no-repeat; background-size:100% 100%; image-rendering:pixelated; }
.terrain-layer-grass { position:absolute; inset:0; }
.terrain-layer-grass i { position:absolute; display:block; width:var(--terrain-layer-block-size); height:var(--terrain-layer-block-size); background:url('/assets/background/grass_block_side.png') center / 100% 100% no-repeat; filter:drop-shadow(0 2px 0 rgba(45,69,31,.16)); }
.terrain-layer-grass::after { position:absolute; top:var(--terrain-edge-top,100%); right:0; left:var(--terrain-edge-left,100%); height:var(--terrain-layer-block-size); background:url('/assets/background/grass_block_side.png') left top / var(--terrain-layer-block-size) var(--terrain-layer-block-size) repeat-x; content:""; }
.terrain-layer-decorations { position:absolute; z-index:4; inset:0; pointer-events:none; image-rendering:pixelated; }
.terrain-dirt,.terrain-stone { position:absolute; inset:0; background-repeat:repeat; background-size:var(--block-size); }
.terrain-dirt { z-index:3; }
.terrain-stone { z-index:4; }
.terrain-dirt { background-color:#815533; background-image:url('/assets/background/dirt.png'); filter:brightness(var(--terrain-dirt-brightness,1)); transition:filter .8s linear; }
.terrain-stone { background-color:#424242; background-image:url('/assets/background/stone.png'); filter:brightness(var(--terrain-stone-brightness,.82)); transition:filter .8s linear; }
.terrain-stone i { position:absolute; display:block; width:var(--block-size); height:var(--block-size); background-position:center; background-repeat:no-repeat; background-size:100% 100%; image-rendering:pixelated; }
.terrain-caves { position:absolute; z-index:3; inset:0; pointer-events:none; image-rendering:pixelated; }
.terrain-cave { position:absolute; overflow:hidden; }
.terrain-cave::before { position:absolute; inset:0; background-color:#444; background-image:linear-gradient(rgba(16,18,20,.45),rgba(16,18,20,.45)),url('/assets/background/stone.png'); background-position:0 0,0 0; background-size:100% 100%,var(--block-size) var(--block-size); background-repeat:no-repeat,repeat; filter:brightness(var(--terrain-cave-brightness,.58)) contrast(1.04); transition:filter .8s linear; content:""; }
.cave-light-map { position:absolute; z-index:0; inset:0; display:block; filter:blur(var(--cave-light-blur)); pointer-events:none; }
.cave-light-cell { position:absolute; display:block; opacity:var(--cave-light-opacity); background:rgba(255,218,147,.88); mix-blend-mode:screen; }
.cave-lantern { position:absolute; z-index:1; display:block; background:url('/assets/background/lantern.png') center / 100% 100% no-repeat; }
.terrain-grass { position:absolute; z-index:6; inset:0; filter:brightness(var(--terrain-grass-brightness,1)); transition:filter .8s linear; }
.terrain-grass i { position:absolute; display:block; width:var(--block-size); height:var(--block-size); background:url('/assets/background/grass_block_side.png') center / 100% 100% no-repeat; filter:drop-shadow(0 2px 0 rgba(45,69,31,.16)); }
.terrain-grass::after { position:absolute; top:var(--terrain-edge-top,100%); right:0; left:var(--terrain-edge-left,100%); height:var(--block-size); background:url('/assets/background/grass_block_side.png') left top / var(--block-size) var(--block-size) repeat-x; content:""; }
.terrain-decorations { position:absolute; z-index:7; inset:0; pointer-events:none; image-rendering:pixelated; }
.terrain-cherry-tree { position:absolute; overflow:visible; filter:brightness(var(--terrain-grass-brightness,1)) drop-shadow(0 3px 0 rgba(47,37,31,.22)); }
.terrain-layer .terrain-cherry-tree,.terrain-layer .terrain-cherry-sapling { filter:drop-shadow(0 2px 0 rgba(47,37,31,.14)); }
.terrain-cherry-tree::before,.terrain-cherry-tree::after { position:absolute; display:block; image-rendering:pixelated; content:""; }
.terrain-cherry-tree::before { z-index:1; bottom:0; left:40%; width:20%; height:33.333%; background:url('/assets/background/cherry_log.png') center top / 100% 50% repeat-y; }
.terrain-cherry-tree::after { z-index:2; top:0; left:0; width:100%; height:66.667%; background:url('/assets/background/cherry_leaves.png') left top / 20% 25% repeat; clip-path:polygon(20% 0,80% 0,80% 50%,100% 50%,100% 100%,0 100%,0 50%,20% 50%); }
.terrain-cherry-leaf-particle { position:absolute; z-index:3; display:block; background:var(--leaf-particle-color,#f2a9c8); -webkit-mask:var(--leaf-particle-image) center / 100% 100% no-repeat; mask:var(--leaf-particle-image) center / 100% 100% no-repeat; filter:drop-shadow(0 1px 0 rgba(111,47,72,.22)); opacity:0; image-rendering:pixelated; animation:cherry-leaf-fall var(--leaf-particle-duration,7s) cubic-bezier(.35,0,.65,1) infinite; animation-delay:var(--leaf-particle-delay,0s); will-change:transform,opacity; }
.terrain-cherry-sapling { position:absolute; background:url('/assets/background/cherry_sapling.png') center / 100% 100% no-repeat; filter:brightness(var(--terrain-grass-brightness,1)) drop-shadow(0 2px 0 rgba(47,37,31,.18)); }
.terrain-cherry-sapling::before,.terrain-cherry-sapling::after { content:none; }
.screen-vignette { position:fixed; z-index:30; top:74px; right:0; bottom:0; left:0; background:radial-gradient(ellipse at center,transparent 45%,rgba(24,48,64,.07) 68%,rgba(24,35,43,.3) 100%); pointer-events:none; }
.back-to-top { position:fixed; z-index:31; right:clamp(18px,3vw,42px); bottom:clamp(20px,3vw,40px); display:grid; place-items:center; width:48px; height:48px; padding:0; border:0; background:transparent; box-shadow:none; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(24px) scale(.7); transition:opacity .22s,transform .22s; }
.back-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }.back-to-top:hover { transform:translateY(-4px) scale(1.12); }.back-to-top:focus-visible { outline:3px solid #e3a384; outline-offset:3px; }.back-to-top img { width:44px; height:44px; image-rendering:pixelated; filter:drop-shadow(0 3px 3px rgba(0,0,0,.56)); }.back-to-top.is-flying { opacity:1 !important; pointer-events:none; animation:rocket-flight 1s cubic-bezier(.21,.74,.32,1) forwards; }
.firework-particles { position:fixed; z-index:30; inset:0; pointer-events:none; }.firework-particles i { position:absolute; display:block; width:16px; height:16px; background:var(--particle-color); -webkit-mask:var(--particle-image) center / 100% 100% no-repeat; mask:var(--particle-image) center / 100% 100% no-repeat; filter:drop-shadow(0 0 4px var(--particle-color)); mix-blend-mode:screen; opacity:0; image-rendering:pixelated; animation:rocket-particle .82s ease-out forwards; }
@keyframes rocket-flight { 0% { opacity:1; transform:translateY(0) scale(1); } 100% { opacity:1; transform:translateY(calc(-100vh - 90px)) scale(1.14); } }
@keyframes rocket-particle { 0% { opacity:0; transform:translate(0,0) scale(.45); } 14% { opacity:1; } 100% { opacity:0; transform:translate(var(--particle-x),var(--particle-y)) scale(1.5); } }
@keyframes cherry-leaf-fall { 0%,12% { opacity:0; transform:translate3d(0,0,0) rotate(0deg) scale(var(--leaf-particle-scale,1)); } 18%,62% { opacity:var(--leaf-particle-opacity,.78); } 100% { opacity:0; transform:translate3d(var(--leaf-drift-x,16px),var(--leaf-fall-y,120px),0) rotate(var(--leaf-rotation,90deg)) scale(var(--leaf-particle-scale,1)); } }
@keyframes sky-cloud-map-drift { to { background-position:512px 12%; } }
@keyframes minecraft-cloud-drift { from { transform:translateX(0) scale(var(--cloud-scale)); } to { transform:translateX(160vw) scale(var(--cloud-scale)); } }
@keyframes logo-splash-bob { 0%,100% { opacity:.82; transform:rotate(-8deg) scale(1) translateY(0); } 50% { opacity:1; transform:rotate(-8deg) scale(1.08) translateY(-3px); } }
@property --rays-x { syntax:'<percentage>'; initial-value:50%; inherits:true; }
@property --rays-y { syntax:'<length>'; initial-value:0px; inherits:true; }
@media (prefers-reduced-motion:reduce) { .back-to-top,.firework-particles i,.sky-cloud-map,.minecraft-cloud,.terrain-layer,.terrain-cherry-leaf-particle,.terrain-rays,.logo-splash { transition:none; animation:none; }.terrain-layer { transform:none !important; }.back-to-top.is-flying { opacity:0; }.firework-particles,.terrain-cherry-leaf-particle { display:none; } }
@media (hover:none) and (pointer:coarse) {
  .terrain-scene.is-static-terrain { position:fixed; inset:0; height:calc(100dvh + 240px); }
  .terrain-scene.is-static-terrain .terrain-dirt,
  .terrain-scene.is-static-terrain .terrain-stone,
  .terrain-scene.is-static-terrain .terrain-caves,
  .terrain-scene.is-static-terrain .terrain-grass,
  .terrain-scene.is-static-terrain .terrain-decorations { inset:0 0 auto; height:calc(100dvh + 240px); }
  .terrain-scene.is-static-terrain .terrain-layer { display:none; }
  .terrain-scene.is-static-terrain .terrain-cave::before { filter:none; }
  .terrain-scene.is-static-terrain .cave-light-map { display:none; }
  .terrain-scene.is-static-terrain .terrain-layer,
  .terrain-scene.is-static-terrain .terrain-dirt,
  .terrain-scene.is-static-terrain .terrain-stone,
  .terrain-scene.is-static-terrain .terrain-grass { transition:none; }
  .terrain-scene.is-static-terrain .terrain-cherry-leaf-particle { display:none; }
}
a { color:inherit; text-decoration:none; }
.site-header { width:100%; max-width:100%; min-height:74px; display:flex; align-items:center; gap:24px; padding:0 max(6vw,28px); background:rgba(247,248,244,.9); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:10; backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; flex:0 1 355px; }
.brand-logo { display:block; width:min(100%,335px); height:auto; }
.player-search { display:flex; flex:0 1 220px; align-items:center; min-width:150px; height:38px; overflow:hidden; border:1px solid #d8ab97; border-radius:8px; background:#fffaf7; transition:border-color .18s,box-shadow .18s; }
.player-search:focus-within { border-color:#88614f; box-shadow:0 0 0 3px #f3d7ca; }
.player-search input { width:100%; min-width:0; border:0; outline:0; padding:8px 0 8px 12px; background:transparent; color:var(--ink); font:12px "DM Mono",monospace; }
.player-search input::placeholder { color:#a57d6c; }
.player-search button { display:grid; flex:0 0 37px; place-items:center; align-self:stretch; border:0; background:transparent; color:#88614f; font:700 21px/1 sans-serif; cursor:pointer; }
.player-search button:hover { background:#f4d8cc; }
/* 保留原公告在顶栏中的弹性占位，避免右侧账号和导航改变位置。 */
.top-announcement-slot { flex:1 1 auto; min-width:0; }
/* 顶部栏下方的悬挂公告牌：固定在右侧，滚动时仍紧跟导航栏。 */
.top-announcement { position:fixed; z-index:9; top:74px; right:max(6vw,28px); width:176px; pointer-events:auto; transform:translateY(calc(-100% + 18px)); transition:transform .34s cubic-bezier(.22,.72,.24,1); }
.top-announcement.is-open { transform:translateY(0); }
.top-announcement-toggle { display:block; width:100%; padding:0; border:0; background:transparent; cursor:pointer; }
.top-announcement-toggle:focus-visible { outline:3px solid #e3a384; outline-offset:4px; border-radius:8px; }
.top-announcement-sign { width:176px; height:176px; }
.top-announcement-sign img { display:block; width:100%; height:100%; image-rendering:pixelated; filter:drop-shadow(0 4px 2px rgba(53,32,22,.36)); }
.top-announcement-sign span { position:absolute; top:50%; left:50%; width:72%; transform:translateX(-50%); display:grid; place-items:center; overflow:hidden; color:#3f2c1d; font:700 11px/1.18 "Noto Sans SC",sans-serif; letter-spacing:0; text-align:center; text-shadow:0 1px rgba(255,236,184,.48); white-space:normal; overflow-wrap:anywhere; word-break:break-word; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; clip-path:inset(50%); }
.content-search { display:flex; align-items:center; min-width:205px; overflow:hidden; border:1px solid #d8ab97; border-radius:8px; background:#fffaf7; }
.content-search:focus-within { border-color:#88614f; box-shadow:0 0 0 3px #f3d7ca; }
.content-search input { width:100%; min-width:0; border:0; outline:0; padding:9px 11px; background:transparent; color:var(--ink); font:12px "Noto Sans SC",sans-serif; }
.content-search input::placeholder { color:#a57d6c; }
.content-search button { flex:0 0 auto; align-self:stretch; border:0; padding:0 12px; background:#88614f; color:#fffaf7; font:700 12px "Noto Sans SC",sans-serif; cursor:pointer; }
.content-search button:hover { background:#694635; }
.page-heading-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:10px; }
.feed-heading { flex-wrap:wrap; gap:12px; }.feed-heading .content-search { margin-left:auto; }
.search-result-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:start; }
.search-player-row,.search-guide-row { display:grid; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid #edd6ca; }
.search-player-row:last-child,.search-guide-row:last-child { border-bottom:0; }
.search-player-row { grid-template-columns:39px minmax(0,1fr) auto; }
.search-player-row strong,.search-guide-row strong { overflow:hidden; color:var(--ink); font:700 14px "DM Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }
.search-player-row > span:last-child { color:#96705f; font-size:10px; white-space:nowrap; }
.search-guide-row { gap:3px; }.search-guide-row > span { color:#9a6a57; font-size:10px; font-weight:700; }.search-guide-row small { color:#8f6d5e; font-size:11px; }
.search-result-grid .post-card { padding:13px 0; }.search-result-grid .post-card .avatar { display:none; }.search-result-grid .post-title { font-size:14px; }.search-result-grid .post-main p,.search-result-grid .post-footer { font-size:11px; }.search-result-grid .post-footer { gap:8px; flex-wrap:wrap; }
.player-header { gap:20px; }.player-summary { display:flex; align-items:center; gap:10px; margin-left:auto; padding-left:22px; border-left:1px solid var(--line); }.player-avatar { width:42px; height:42px; border:2px solid #d7e7c5; border-radius:11px; background:#e2ecd9; image-rendering:pixelated; object-fit:cover; }.player-identity { display:grid; gap:2px; min-width:124px; }.player-identity div { display:grid; grid-template-columns:34px 1fr; align-items:baseline; gap:7px; line-height:1.25; }.player-identity span { color:#93a097; font-size:10px; }.player-identity strong { color:var(--ink); font:700 14px "DM Mono",monospace; }.player-identity b { color:#729053; font-size:11px; } nav { display:flex; align-items:center; gap:22px; margin-left:18px; } nav a { color:var(--muted); font-size:14px; font-weight:600; } nav a.active, nav a:hover { color:var(--ink); }
.button { border:0; display:inline-flex; align-items:center; justify-content:center; gap:15px; padding:13px 20px; border-radius:9px; background:var(--leaf); color:white; font:700 14px "Noto Sans SC",sans-serif; cursor:pointer; transition:transform .16s,background .16s; } .button:hover { background:#173a27; transform:translateY(-1px); } .button:disabled { cursor:not-allowed; opacity:.55; transform:none; } .button-small { padding:9px 14px; font-size:13px; }
.hero { display:grid; grid-template-columns:minmax(0,690px) minmax(360px,1fr); gap:clamp(38px,6vw,110px); align-items:center; padding:76px max(6vw,28px) 78px; background:radial-gradient(circle at 76% 18%,#e8f6ce 0,transparent 22%),linear-gradient(110deg,#f7f8f4 44%,#edf6df); overflow:hidden; }.hero-intro { max-width:690px; }.eyebrow,.section-label { margin:0 0 12px; color:#75904a; font:700 11px "DM Mono",monospace; letter-spacing:1.5px; text-transform:uppercase; }.hero h1,.register-card h1 { margin:0; font:700 clamp(43px,6vw,75px)/1.08 "Playfair Display","Noto Serif SC",serif; letter-spacing:-2.8px; }.hero h1 em { color:#618a3c; }.hero-copy { max-width:520px; margin:23px 0 30px; color:#56645b; font-size:16px; }.hero-actions { display:flex; gap:24px; align-items:center; }.text-link,.text-button { color:var(--leaf); border:0; background:transparent; font:700 14px "Noto Sans SC",sans-serif; cursor:pointer; }.text-link { border-bottom:1px solid #93ad78; padding-bottom:2px; }
.slideshow { position:relative; aspect-ratio:16 / 10; min-height:350px; overflow:hidden; border:8px solid rgba(255,255,255,.72); border-radius:20px; background:#d5e4cd; box-shadow:0 25px 55px rgba(43,78,48,.18); }.slideshow-track,.slide { position:absolute; inset:0; margin:0; }.slide { opacity:0; transition:opacity .7s ease; }.slide.is-active { opacity:1; }.slide picture { display:block; width:100%; height:100%; }.slide img { width:100%; height:100%; object-fit:cover; }.slideshow::after { position:absolute; inset:auto 0 0; height:38%; background:linear-gradient(transparent,rgba(12,28,18,.44)); content:""; pointer-events:none; }.slideshow-arrow { position:absolute; top:50%; z-index:1; display:grid; place-items:center; width:39px; height:39px; border:1px solid rgba(255,255,255,.45); border-radius:50%; background:rgba(20,39,26,.55); color:white; font-size:20px; cursor:pointer; opacity:0; transform:translateY(-50%); transition:opacity .18s,background .18s; }.slideshow:hover .slideshow-arrow,.slideshow:focus-within .slideshow-arrow { opacity:1; }.slideshow-arrow:hover { background:rgba(20,39,26,.82); }.slideshow-previous { left:17px; }.slideshow-next { right:17px; }.slideshow-dots { position:absolute; right:21px; bottom:18px; z-index:1; display:flex; gap:7px; }.slideshow-dots button { width:7px; height:7px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.56); cursor:pointer; transition:transform .18s,background .18s; }.slideshow-dots button.is-active { background:white; transform:scale(1.35); }
.server-status { display:flex; flex-wrap:wrap; align-items:center; gap:8px; width:max-content; max-width:100%; margin-top:58px; padding:10px 12px; background:rgba(255,255,255,.7); border:1px solid #dae5d6; border-radius:9px; color:#708075; font-size:12px; }.server-status strong { color:var(--ink); }.server-status button,.command-box button { border:0; border-left:1px solid var(--line); margin-left:5px; padding:2px 0 2px 10px; background:none; color:#5b7746; font:600 12px "Noto Sans SC",sans-serif; cursor:pointer; }
.forum-shell { display:grid; grid-template-columns:210px minmax(0,780px); gap:64px; max-width:1110px; padding:60px 28px 100px; margin:auto; }.categories { padding-top:16px; }.category { display:flex; align-items:center; gap:9px; padding:10px 9px; margin:2px 0; color:#647168; border-radius:7px; font-size:14px; }.category span { color:#849c72; }.category b { margin-left:auto; color:#a1aaa2; font:500 11px "DM Mono",monospace; }.category.active,.category:hover { color:var(--leaf); background:#ebf2e6; font-weight:700; }.sidebar-card { margin-top:38px; padding:18px; background:var(--leaf); border-radius:10px; color:white; }.sidebar-card p,.sidebar-card span { display:block; margin:0; color:#b7d0b9; font-size:12px; }.sidebar-card strong { display:block; margin:5px 0; color:var(--lime); font:700 31px "Playfair Display",serif; }
.feed-heading { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:22px; }.feed-heading h2 { margin:0; font:700 28px "Playfair Display","Noto Serif SC",serif; letter-spacing:-1px; }.post-card { display:flex; gap:15px; padding:21px 0; border-top:1px solid var(--line); }.avatar { flex:0 0 38px; display:grid; place-items:center; height:38px; border-radius:11px; background:#dce7d0; color:var(--leaf); font:700 17px "Playfair Display",serif; }.post-main { min-width:0; }.post-meta,.post-footer { display:flex; align-items:center; gap:7px; color:#8a958e; font-size:12px; }.pin { padding:2px 6px; color:#cd633f; border-radius:4px; background:#fff0e9; font-size:10px; font-weight:700; }.post-title { display:block; margin:5px 0 5px; font-size:17px; font-weight:800; }.post-title:hover { color:#4d7a36; }.post-main p { margin:0 0 10px; color:#718078; font-size:13px; }.post-footer { gap:16px; }.post-footer strong { color:#54635a; }.loading { padding:30px; color:var(--muted); text-align:center; }
.register-page { width:min(100% - 40px,530px); padding:54px 0 90px; margin:auto; }.back-link { display:inline-block; margin-bottom:28px; color:#607166; font-size:13px; font-weight:600; }.register-card { padding:43px; background:var(--white); border:1px solid var(--line); border-radius:15px; box-shadow:var(--shadow); }.register-card h1 { font-size:39px; letter-spacing:-1.5px; }.muted { margin:13px 0 29px; color:var(--muted); font-size:14px; }.form-stack { display:grid; gap:18px; }.form-stack label { display:grid; gap:7px; color:#3d4a42; font-size:13px; font-weight:700; }.form-stack input { width:100%; padding:12px 13px; border:1px solid #d9e1da; border-radius:8px; outline:0; color:var(--ink); background:#fbfcfa; font:15px "DM Mono",monospace; }.form-stack input:focus { border-color:#78a052; box-shadow:0 0 0 3px #e6f1d9; }.form-stack .button { margin-top:4px; }.form-note { margin:0; color:#849087; font-size:12px; }.alert { margin:0 0 17px; padding:9px 11px; color:#a5492c; background:#fff1eb; border:1px solid #ffd6c6; border-radius:7px; font-size:13px; }.dev-code { padding:8px 10px; margin:0 0 18px; background:#eef5e8; border-radius:7px; color:#546b42; font-size:12px; }.dev-code code { font-family:"DM Mono",monospace; font-weight:700; }.progress { display:flex; align-items:center; gap:7px; margin-bottom:35px; }.progress span { display:grid; place-items:center; width:23px; height:23px; border:1px solid #d9e1da; border-radius:50%; color:#a0aba3; font:700 11px "DM Mono",monospace; }.progress span.current { border-color:#71964d; background:#71964d; color:#fff; }.progress span.done { border-color:#71964d; background:#e7f2dd; color:#4e7933; }.progress i { width:28px; height:1px; background:#d9e1da; }.verification-card { min-height:370px; }.command-box { display:flex; align-items:center; justify-content:space-between; padding:16px; margin:23px 0 14px; border:1px dashed #aac196; border-radius:9px; background:#f4f8ef; }.command-box code { color:#305b3b; font:700 17px "DM Mono",monospace; }.waiting { display:flex; align-items:center; gap:9px; margin-top:28px; color:#6b7a70; font-size:13px; }.waiting img { width:22px; height:22px; }
/* HTMX 请求进行中：目标区域覆盖半透明遮罩并居中显示加载图标。 */
.is-loading { position:relative; }
.is-loading::after { content:""; position:absolute; inset:0; z-index:5; border-radius:inherit; background:rgba(255,249,244,.75) url("/assets/loading.gif") center/70px 70px no-repeat; }.success-mark { display:grid; place-items:center; width:54px; height:54px; margin-bottom:18px; border-radius:50%; background:#e7f4dc; color:#508530; font-size:27px; font-weight:700; }
.editor-page { width:min(100% - 40px,760px); padding:54px 0 100px; margin:auto; }.editor-card { padding:42px; border:1px solid var(--line); border-radius:15px; background:white; box-shadow:var(--shadow); }.editor-card h1 { margin:0; font:700 39px "Playfair Display","Noto Serif SC",serif; }.form-stack select,.form-stack textarea { width:100%; padding:12px 13px; border:1px solid #d9e1da; border-radius:8px; outline:0; color:var(--ink); background:#fbfcfa; font:14px "Noto Sans SC",sans-serif; resize:vertical; }.form-stack select:focus,.form-stack textarea:focus { border-color:#78a052; box-shadow:0 0 0 3px #e6f1d9; }.admin-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:22px; }.admin-stats div { padding:20px; border:1px solid var(--line); border-radius:10px; background:white; }.admin-stats span { display:block; color:#89958d; font-size:12px; }.admin-stats strong { display:block; margin-top:5px; color:#335c3b; font:700 25px "Playfair Display","Noto Serif SC",serif; }.admin-template-tools { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px; margin-bottom:22px; border:1px solid var(--line); border-radius:11px; background:white; }.admin-template-tools h2 { margin:0 0 4px; font-size:17px; }.admin-template-tools p { margin:0; color:#718077; font-size:12px; }.admin-template-tools form { margin:0; flex:none; }.admin-template-notice { margin-top:9px !important; color:#3f7d46 !important; }.admin-table { overflow:hidden; border:1px solid var(--line); border-radius:11px; background:white; }.admin-table-head,.admin-post-row { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 70px; gap:12px; align-items:center; padding:14px 20px; }.admin-table-head { color:#8c978f; background:#f6f8f5; font-size:11px; font-weight:700; }.admin-post-row { border-top:1px solid #ecf0eb; color:#718077; font-size:12px; }.admin-post-row a { overflow:hidden; color:#294c34; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }.admin-post-row form { margin:0; }.admin-post-row button { padding:5px 8px; border:1px solid #f1c8bb; border-radius:5px; background:#fff5f1; color:#a75234; font:12px "Noto Sans SC",sans-serif; cursor:pointer; }
.site-footer { position:relative; z-index:2; width:100%; max-width:100%; padding:0; border-top:2px solid #373737; background:#505052 url('/assets/background/deepslate.png') repeat; background-size:var(--block-size); background-position:0 var(--footer-block-phase,0); color:#f4e5dc; font-size:11px; text-shadow:1px 1px 0 rgba(34,27,23,.72); image-rendering:pixelated; }
.site-footer-content { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px max(6vw,28px); }
.site-footer-copy { min-width:0; text-align:left; }
.site-footer-copy p { margin:0; }
.site-footer-copy p + p { margin-top:6px; }
.site-footer-social { display:grid; flex:0 0 auto; justify-items:end; gap:8px; }
.site-footer-social-title { margin:0; color:#f7ece4; font-size:12px; font-weight:700; letter-spacing:.4px; }
.site-footer-social-links { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.site-footer-social-link { display:grid; justify-items:center; gap:5px; min-width:48px; padding:0; background:transparent; color:#f4e5dc; text-decoration:none; text-shadow:1px 1px 0 rgba(34,27,23,.72); }
.site-footer-social-link:hover { color:#fff8f2; }
.site-footer-social-link img { display:block; width:36px; height:36px; image-rendering:pixelated; }
.site-footer-social-link span { font-size:10px; font-weight:700; line-height:1.1; }
.site-footer-bedrock { height:var(--block-size); background:#4c4c4c url('/assets/background/bedrock.png') repeat; background-size:var(--block-size); background-position:0 var(--footer-bedrock-phase,0); }
.post-description,.post-main .post-description { margin:0 0 10px; color:#718078; font-size:14px; line-height:1.7; }
.post-detail-page .post-reading h1 { margin-bottom:12px; }
.post-reading > .post-description { margin-bottom:18px; }
.section-page { width:min(1120px,calc(100% - 56px)); min-height:calc(100vh - 150px); padding:66px 0 100px; margin:auto; }.page-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:42px; }.page-heading h1,.reading-page h1,.donate-hero h1 { margin:0; font:700 clamp(38px,5vw,58px)/1.12 "Playfair Display","Noto Serif SC",serif; letter-spacing:-2px; }.page-heading p:not(.eyebrow) { max-width:520px; margin:14px 0 0; color:var(--muted); }.forum-shell.compact { max-width:none; padding:0; margin:0; }.muted-count { color:#89948d; font-size:12px; }.reading-page { width:min(760px,calc(100% - 40px)); padding:62px 0 100px; margin:auto; }.post-reading { padding:42px; background:var(--white); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); }.post-reading h1 { margin:11px 0 20px; }.author-line { display:flex; align-items:center; gap:9px; padding:16px 0 25px; border-bottom:1px solid var(--line); color:#859188; font-size:12px; }.author-line .avatar { width:31px; height:31px; font-size:11px; }.author-line strong { color:var(--ink); }.post-body,.article-body { color:#526058; font-size:15px; line-height:1.9; }.post-body p { margin:24px 0; }.post-body blockquote { margin:26px 0; padding:14px 18px; border-left:3px solid #91b86a; background:#f3f8ed; color:#48633b; }.post-actions { display:flex; gap:10px; margin-top:30px; }.post-actions button { padding:8px 12px; border:1px solid var(--line); border-radius:7px; background:white; color:#617168; cursor:pointer; }.reply-box { margin-top:20px; padding:24px 28px; border-radius:12px; background:#edf4e7; }.reply-box h2 { margin:0; font:700 21px "Playfair Display","Noto Serif SC",serif; }.reply-box p { color:#647269; font-size:13px; }
.profile-hero { display:flex; align-items:center; gap:20px; padding:37px 42px; background:linear-gradient(110deg,#254e37,#40724d); border-radius:16px; color:white; }.profile-avatar { width:92px; height:92px; border:3px solid #d6f5a1; border-radius:18px; background:#dcebd0; image-rendering:pixelated; object-fit:cover; }.profile-hero h1 { margin:0; font:700 43px "Playfair Display",serif; letter-spacing:-1px; }.profile-hero .eyebrow { color:#c9ee96; }.title-badge { margin:5px 0 0; color:#d9eccd; font-size:13px; }.profile-hero .button { margin-left:auto; background:var(--lime); color:#25452f; }.profile-grid { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:18px; margin-top:20px; }.profile-card { padding:25px; border:1px solid var(--line); border-radius:12px; background:white; }.level-number { margin:9px 0 13px; color:#335f3b; font:700 39px "Playfair Display",serif; }.level-bar,.donate-balance div { height:8px; overflow:hidden; border-radius:20px; background:#e5ece1; }.level-bar span,.donate-balance i { display:block; height:100%; border-radius:20px; background:linear-gradient(90deg,#79a952,#c8ff4a); }.level-card p { color:#7d8a81; font-size:12px; }.stats { display:grid; grid-template-columns:1fr auto; gap:14px; margin:14px 0 0; font-size:13px; }.stats dt { color:#849087; }.stats dd { margin:0; color:#385a3f; font-weight:700; }.activity-empty { padding-top:6px; color:#7b8880; font-size:13px; }.activity-empty > span { color:#86a66c; font-size:23px; }.activity-empty h2 { margin:5px 0; color:var(--ink); font:700 20px "Playfair Display","Noto Serif SC",serif; }
.wiki-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }.wiki-card { min-height:213px; padding:26px; border:1px solid var(--line); border-radius:13px; background:var(--white); transition:transform .18s,box-shadow .18s; }.wiki-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }.wiki-card > .wiki-card-icon { display:grid; place-items:center; width:35px; height:35px; border-radius:9px; background:#e9f2df; color:#568035; }.wiki-card p { margin:21px 0 4px; color:#738b59; font-size:12px; font-weight:700; }.wiki-card h2 { margin:0 0 21px; font:700 22px "Playfair Display","Noto Serif SC",serif; }.wiki-card small { color:#8a958f; }.wiki-note { display:flex; align-items:center; flex-wrap:wrap; gap:10px 17px; padding:18px 22px; margin-top:24px; border-radius:10px; background:#e9f1e5; color:#627066; font-size:13px; }.wiki-note a { margin-left:auto; color:#4a7834; font-weight:700; }.wiki-reading .article-intro { color:#718076; font-size:19px; line-height:1.65; }.article-body { padding-top:14px; }.article-body li { margin:9px 0; }.article-body code { padding:2px 5px; border-radius:4px; background:#edf3e8; color:#426a34; font-family:"DM Mono",monospace; }.article-body dt { margin-top:20px; color:#345b38; font-weight:700; }.article-body dd { margin:4px 0 0; color:#7a867e; }.article-callout { margin-top:35px; padding:16px 18px; border-radius:8px; background:#f0f5ec; color:#647560; font-size:13px; }
.ranking-tabs { display:flex; align-items:center; gap:5px; width:fit-content; max-width:100%; padding:5px; margin:0 0 20px; border:1px solid var(--line); border-radius:10px; background:white; overflow-x:auto; }.ranking-tabs a { flex:0 0 auto; border-radius:6px; padding:8px 14px; color:#8a958f; font:700 12px "Noto Sans SC",sans-serif; transition:background .18s,color .18s; }.ranking-tabs a:hover,.ranking-tabs a.is-active { background:#f1d4c6; color:#76503f; }.ranking-list { overflow:hidden; border:1px solid var(--line); border-radius:12px; background:white; }.ranking-list + .ranking-list:not(.ranking-panel) { margin-top:24px; }.ranking-panel[hidden] { display:none; }.ranking-head,.rank-row { display:grid; grid-template-columns:100px 1fr 1fr; align-items:center; gap:18px; padding:14px 24px; }.ranking-head { border-bottom:1px solid var(--line); color:#909a93; font-size:11px; font-weight:700; }.rank-row { min-height:73px; border-bottom:1px solid #edf0ed; }.rank-row:last-child { border-bottom:0; }.rank-number { color:#7f8d83; font:700 15px "DM Mono",monospace; }.rank-1 .rank-number { color:#cc9829; }.rank-2 .rank-number { color:#76858d; }.rank-3 .rank-number { color:#b5754a; }.rank-player { display:flex; align-items:center; gap:10px; }.rank-player img { width:37px; height:37px; border-radius:9px; background:#e2ecdc; image-rendering:pixelated; }.rank-score { display:grid; justify-items:end; }.rank-score b { color:#355d3a; font:700 16px "DM Mono",monospace; }.rank-score small { color:#98a29b; font-size:11px; }.ranking-section-title { margin:0; padding:18px 24px 0; color:var(--ink); font:700 24px "Playfair Display","Noto Serif SC",serif; }
.donate-hero { display:grid; grid-template-columns:1.6fr 1fr; gap:55px; align-items:center; padding:53px; border-radius:17px; background:radial-gradient(circle at 90% 20%,#e4f2bb 0,transparent 34%),linear-gradient(130deg,#254b35,#193d2b); color:white; }.donate-hero .eyebrow { color:#d1f790; }.donate-hero em { color:var(--lime); }.donate-hero p:not(.eyebrow) { max-width:520px; color:#c8d9cc; }.donate-balance { padding:21px; border:1px solid rgba(218,242,191,.28); border-radius:11px; background:rgba(255,255,255,.1); }.donate-balance span,.donate-balance small { color:#c3d5c5; font-size:12px; }.donate-balance strong { display:block; margin:5px 0 12px; color:var(--lime); font:700 39px "Playfair Display",serif; }.donate-balance div { margin-bottom:8px; background:rgba(255,255,255,.23); }.donate-balance i { background:var(--lime); }.support-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:27px 0; }.support-card { position:relative; padding:25px; border:1px solid var(--line); border-radius:12px; background:white; }.support-card.featured { border:2px solid #91b566; box-shadow:0 13px 35px rgba(61,101,44,.12); }.support-card p { margin:0; color:#718b56; font-size:13px; font-weight:700; }.support-card strong { display:block; margin:8px 0 0; font:700 32px "Playfair Display",serif; }.support-card > span:not(.popular) { color:#919b94; font-size:12px; }.support-card ul { min-height:61px; padding-left:18px; color:#6f7b73; font-size:12px; line-height:1.9; }.popular { position:absolute; top:-11px; right:16px; padding:3px 8px; border-radius:5px; background:#6e9c47; color:white; font-size:10px; font-weight:700; }.support-form { display:grid; grid-template-columns:1.6fr 1fr 1fr auto; align-items:end; gap:14px; padding:28px; border-radius:12px; background:#edf4e8; }.support-form h2 { margin:1px 0 6px; font:700 22px "Playfair Display","Noto Serif SC",serif; }.support-form p:not(.section-label) { margin:0; color:#718076; font-size:12px; }.support-form label { display:grid; gap:6px; color:#5a6b5f; font-size:11px; font-weight:700; }.support-form input,.support-form select { min-width:0; padding:10px; border:1px solid #d5e0d1; border-radius:7px; background:white; font:13px "Noto Sans SC",sans-serif; }.success-alert { color:#3d713d; background:#e4f2da; border-color:#c4e4b6; }.empty-page { width:min(620px,calc(100% - 40px)); padding:120px 0; margin:auto; text-align:center; }.empty-page h1 { margin:0; font:700 42px "Playfair Display","Noto Serif SC",serif; }.empty-page p:not(.eyebrow) { color:#78857d; }
@media (max-width:850px) { .site-header { padding:0 20px; }.player-search { flex-basis:180px; }.player-summary { padding-left:0; border-left:0; }.site-header nav { display:none; }.hero { grid-template-columns:1fr; gap:35px; padding:74px 28px 58px; }.hero h1 { font-size:48px; letter-spacing:-2px; }.slideshow { min-height:0; max-width:650px; width:100%; }.forum-shell { display:block; padding-top:36px; }.categories { display:none; }.feed-heading { margin-bottom:15px; }.post-card { padding:17px 0; }.register-card { padding:30px 23px; }.register-page { width:min(100% - 28px,530px); padding-top:31px; } }
@media (max-width:850px) { .section-page { width:min(100% - 36px,720px); padding-top:42px; }.profile-grid,.wiki-grid,.support-grid,.search-result-grid { grid-template-columns:1fr; }.donate-hero { grid-template-columns:1fr; gap:26px; padding:35px; }.support-form { grid-template-columns:1fr 1fr; }.support-form > div { grid-column:1 / -1; }.ranking-head,.rank-row { grid-template-columns:50px 1.3fr 1fr; padding:13px; }.ranking-head span:nth-child(3),.rank-title { display:none; }.rank-score { grid-column:3; }.profile-hero { padding:28px; }.page-heading { align-items:start; flex-direction:column; margin-bottom:27px; }.page-heading-actions { justify-content:flex-start; } }
@media (max-width:850px) { .community-columns,.organization-layout { grid-template-columns:1fr; }.organization-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.organization-create { order:-1; }.member-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:530px) { .section-page { width:min(100% - 28px,720px); }.post-reading { padding:25px 21px; }.profile-hero { flex-wrap:wrap; }.profile-hero .button { margin-left:0; }.profile-avatar { width:72px; height:72px; }.profile-hero h1 { font-size:33px; }.support-form { grid-template-columns:1fr; }.support-form > div { grid-column:auto; }.donate-hero { padding:27px 22px; }.wiki-note a { margin-left:0; }.ranking-tabs { overflow:auto; }.ranking-tabs a { white-space:nowrap; } }
@media (max-width:530px) { .profile-hero-actions { width:100%; margin-left:0; }.organization-grid,.member-grid { grid-template-columns:1fr; }.community-card { padding:21px; }.organization-hero { flex-direction:column; padding:28px 22px; }.organization-hero .organization-logo { width:58px; height:58px; } }
@media (max-width:650px) { .editor-page { width:min(100% - 28px,760px); padding-top:35px; }.editor-card { padding:28px 21px; }.admin-stats { grid-template-columns:1fr; }.admin-template-tools { align-items:flex-start; flex-direction:column; }.admin-table-head { display:none; }.admin-post-row { grid-template-columns:1fr auto; gap:7px; }.admin-post-row span { display:none; }.admin-post-row a { min-width:0; } }
@media (max-width:530px) { .brand { flex-basis:220px; }.brand-logo { width:220px; }.top-announcement { display:none; }.player-identity { min-width:0; }.player-identity div { grid-template-columns:1fr; gap:0; }.player-identity span { display:none; }.player-avatar { width:38px; height:38px; }.hero { padding:48px 22px; }.hero-actions { gap:16px; }.slideshow { border-width:5px; border-radius:14px; }.slideshow-arrow { opacity:1; width:34px; height:34px; }.slideshow-previous { left:10px; }.slideshow-next { right:10px; }.slideshow-dots { right:14px; bottom:13px; } }

/* 露天文字根据天空亮度切换前景色，避免昼夜和晨昏时与背景混在一起。 */
main { --terrain-text:#fffaf7; --terrain-text-muted:#f8e7df; --terrain-text-accent:#ffd3bf; --terrain-text-shadow:0 2px 4px rgba(28,16,11,.7); }
main[data-sky-contrast="light"] { --terrain-text:#382820; --terrain-text-muted:#5d4339; --terrain-text-accent:#714837; --terrain-text-shadow:0 1px 2px rgba(255,255,255,.72),0 2px 5px rgba(255,255,255,.38); }
main[data-sky-contrast] .section-page > .back-link,
main[data-sky-contrast] .section-page > .page-heading h1,
main[data-sky-contrast] .section-page > .page-heading .eyebrow,
main[data-sky-contrast] .section-page > .page-heading p:not(.eyebrow),
main[data-sky-contrast] .register-page > .back-link,
main[data-sky-contrast] .settings-shell > .back-link,
main[data-sky-contrast] .settings-shell > .eyebrow,
main[data-sky-contrast] .settings-shell > h1,
main[data-sky-contrast] .empty-page { color:var(--terrain-text); text-shadow:var(--terrain-text-shadow); transition:color .8s ease,text-shadow .8s ease; }
main[data-sky-contrast] .section-page > .page-heading .eyebrow { color:var(--terrain-text-accent); transition:color .8s ease; }
main[data-sky-contrast] .settings-shell > .eyebrow { color:var(--terrain-text-accent); transition:color .8s ease; }
main[data-sky-contrast] .section-page > .page-heading p:not(.eyebrow),
main[data-sky-contrast] .empty-page p:not(.eyebrow) { color:var(--terrain-text-muted); transition:color .8s ease; }
.admin-deleted-table { margin-top:22px; }.admin-deleted-post-row button { border-color:#c6d8ba; background:#f1f8eb; color:#4b7a3b; }.admin-deleted-post-row button:hover { background:#deefd4; }
.comment-report-form { display:inline; margin:0; }.comment-report-form button { padding:0; border:0; background:transparent; color:#b18a7c; font:inherit; cursor:pointer; }.comment-report-form button:hover { color:#a75234; text-decoration:underline; }

/* Wiki */
.wiki-heading { align-items:center; }.page-heading-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }.page-heading-actions .content-search { min-width:min(100%,290px); }.wiki-category-nav { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:42px; }.wiki-category-card { display:flex; align-items:center; gap:11px; min-width:0; padding:15px; border:1px solid #e4c8ba; border-radius:10px; background:#fffaf7; transition:transform .16s,box-shadow .16s,border-color .16s; }.wiki-category-card:hover { border-color:#c6856d; box-shadow:0 9px 20px rgba(104,59,42,.12); transform:translateY(-2px); }.wiki-category-card > span,.wiki-category-heading > span { display:grid; flex:0 0 auto; width:32px; height:32px; place-items:center; border-radius:8px; background:#f4d7ca; color:#80513f; font-size:17px; }.wiki-category-card div { display:grid; min-width:0; gap:2px; }.wiki-category-card strong { overflow:hidden; color:#543a2e; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }.wiki-category-card small { overflow:hidden; color:#9a7668; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.wiki-category-card b { margin-left:auto; color:#a87864; font:700 10px "DM Mono",monospace; white-space:nowrap; }.wiki-category-list { display:grid; gap:42px; }.wiki-category-section { scroll-margin-top:100px; }.wiki-category-heading { display:flex; align-items:center; gap:11px; margin-bottom:14px; }.wiki-category-heading > div { min-width:0; }.wiki-category-heading p { margin:0; color:#9a7566; font-size:11px; }.wiki-category-heading h2 { margin:2px 0 0; color:#50372c; font:700 26px "Playfair Display","Noto Serif SC",serif; }.wiki-category-heading b { margin-left:auto; color:#aa806e; font:700 11px "DM Mono",monospace; }.wiki-grid { grid-template-columns:repeat(3,1fr); }.wiki-card { display:flex; flex-direction:column; min-height:190px; padding:23px; border-color:#e5cabe; background:#fffaf7; }.wiki-card p { margin:0 0 9px; color:#9a6a57; font-size:11px; }.wiki-card h2 { margin:0 0 11px; color:#52392d; font-size:21px; line-height:1.35; }.wiki-card > span { color:#84685b; font-size:12px; line-height:1.7; }.wiki-card small { display:block; padding-top:14px; margin-top:auto; color:#ad816f; font-size:10px; }.wiki-article-page { width:min(1020px,calc(100% - 56px)); }.wiki-article-layout { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:25px; align-items:start; }.wiki-reading { padding:42px; border:1px solid #e2c5b8; border-radius:15px; background:#fffaf7; box-shadow:0 12px 28px rgba(84,49,36,.08); }.wiki-reading h1 { margin:5px 0 16px; color:#49332a; font:700 clamp(36px,5vw,55px)/1.15 "Playfair Display","Noto Serif SC",serif; letter-spacing:-1.7px; }.wiki-reading .article-intro { max-width:650px; color:#73584b; font-size:18px; }.wiki-meta { display:flex; flex-wrap:wrap; gap:8px 18px; padding:18px 0; margin-top:23px; border-top:1px solid #ecd5ca; border-bottom:1px solid #ecd5ca; color:#9c7868; font-size:11px; }.wiki-meta strong { color:#684638; }.wiki-article-actions { display:flex; align-items:center; gap:13px; margin-top:18px; }.wiki-article-actions > a:not(.button) { color:#8b5e4b; font-size:12px; font-weight:700; text-decoration:underline; }.wiki-reading .article-body { padding-top:21px; color:#5f4539; }.wiki-reading .article-body h1,.wiki-reading .article-body h2,.wiki-reading .article-body h3 { color:#51392e; }.wiki-reading .article-body h2 { margin-top:35px; font-size:25px; }.wiki-reading .article-body p { margin:17px 0; }.wiki-reading .article-body img { max-width:100%; border-radius:8px; }.wiki-toc { position:sticky; top:96px; display:grid; gap:10px; padding:18px; border:1px solid #e6cfc3; border-radius:11px; background:rgba(255,250,247,.92); color:#8d6c5e; font-size:12px; }.wiki-toc strong { color:#563c30; font-size:13px; }.wiki-toc a { color:#8b5d4b; font-weight:700; }.wiki-discussion { max-width:760px; padding:27px 31px; margin-top:23px; border:1px solid #e3c7bb; border-radius:14px; background:#fffaf7; }.wiki-history-page { width:min(820px,calc(100% - 56px)); }.wiki-history-list { overflow:hidden; border:1px solid #e4c9bd; border-radius:13px; background:#fffaf7; }.wiki-revision { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 20px; padding:19px 22px; border-bottom:1px solid #efd9cf; }.wiki-revision:last-child { border-bottom:0; }.wiki-revision div { display:grid; gap:4px; }.wiki-revision strong { color:#53392e; font-size:14px; }.wiki-revision span,.wiki-revision time { color:#997868; font-size:11px; }.wiki-revision p { grid-column:1 / -1; margin:5px 0 0; color:#74594c; font-size:12px; }.editor-page-with-preview .editor-card .back-link { margin-bottom:5px; }
@media (max-width:850px) { .wiki-category-nav { grid-template-columns:repeat(2,1fr); }.wiki-article-layout { grid-template-columns:1fr; }.wiki-toc { position:static; grid-template-columns:repeat(3,1fr); }.wiki-discussion { max-width:none; } }
@media (max-width:530px) { .wiki-category-nav { grid-template-columns:1fr; }.wiki-toc { grid-template-columns:1fr; }.wiki-reading,.wiki-discussion { padding:25px 21px; }.wiki-article-page,.wiki-history-page { width:min(100% - 28px,720px); }.wiki-revision { grid-template-columns:1fr; gap:5px; }.wiki-revision time { grid-row:2; }.wiki-revision p { grid-column:auto; } }

.wiki-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:38px; align-items:start; }
.wiki-sidebar { position:sticky; top:92px; padding:18px; border:1px solid #e4c8ba; border-radius:12px; background:#fffaf7; }
.wiki-sidebar-label { margin:0 0 11px; color:#9a6a57; font:700 10px "DM Mono",monospace; letter-spacing:1.1px; text-transform:uppercase; }
.wiki-sidebar .wiki-category-nav { display:grid; grid-template-columns:1fr; gap:5px; margin:0; }
.wiki-sidebar .wiki-category-card { display:grid; grid-template-columns:29px minmax(0,1fr) auto; align-items:center; gap:9px; padding:10px 8px; border:0; border-radius:8px; background:transparent; box-shadow:none; transform:none; }
.wiki-sidebar .wiki-category-card:hover { border-color:transparent; background:#f4e4dc; box-shadow:none; transform:none; }
.wiki-sidebar .wiki-category-card > span { width:29px; height:29px; border-radius:7px; font-size:15px; }
.wiki-sidebar .wiki-category-card strong { font-size:12px; }
.wiki-sidebar .wiki-category-card small { font-size:9px; }
.wiki-category-group + .wiki-category-group { margin-top:7px; padding-top:7px; border-top:1px solid #edd8cf; }
.wiki-subcategory-list { display:grid; gap:2px; margin:2px 0 0 38px; }
.wiki-subcategory-link { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:5px 7px; border-radius:6px; color:#926b5b; font-size:10px; }
.wiki-subcategory-link:hover { background:#f7e8e1; color:#704838; }
.wiki-subcategory-link span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wiki-subcategory-link b { flex:0 0 auto; color:#b08878; font:700 9px "DM Mono",monospace; }
.wiki-content { min-width:0; }
.wiki-subcategory-section { scroll-margin-top:100px; padding-top:2px; }
.wiki-subcategory-section + .wiki-subcategory-section { padding-top:27px; margin-top:27px; border-top:1px solid #ecd5ca; }
.wiki-subcategory-heading { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin:0 0 13px; }
.wiki-subcategory-heading h3 { margin:0; color:#704838; font:700 18px "Playfair Display","Noto Serif SC",serif; }
.wiki-subcategory-heading b { color:#aa806e; font:700 10px "DM Mono",monospace; white-space:nowrap; }

@media (max-width:850px) { .wiki-layout { grid-template-columns:1fr; gap:22px; }.wiki-sidebar { position:static; padding:0; border:0; background:transparent; }.wiki-sidebar-label { display:none; }.wiki-sidebar .wiki-category-nav { display:flex; overflow-x:auto; gap:8px; padding-bottom:4px; }.wiki-category-group { flex:0 0 205px; border:1px solid #e4c8ba; border-radius:10px; background:#fffaf7; }.wiki-category-group + .wiki-category-group { margin:0; padding:0; border-top:1px solid #e4c8ba; }.wiki-sidebar .wiki-category-card { grid-template-columns:29px minmax(110px,1fr) auto; padding:10px; border:0; background:transparent; }.wiki-subcategory-list { margin:0 10px 9px 47px; }.wiki-subcategory-section + .wiki-subcategory-section { padding-top:23px; margin-top:23px; } }
@media (max-width:530px) { .wiki-sidebar .wiki-category-card { flex-basis:180px; } }

.wiki-document-page { width:min(1220px,calc(100% - 56px)); }
.wiki-document-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:30px; align-items:start; }
.wiki-document-sidebar { position:sticky; top:92px; display:grid; gap:14px; padding:18px; border:1px solid #e4c8ba; border-radius:12px; background:#fffaf7; }
.wiki-document-nav { display:grid; gap:6px; }
.wiki-sidebar-section { border-bottom:1px solid #ecd8cf; }
.wiki-sidebar-section:last-child { border-bottom:0; }
.wiki-sidebar-section summary { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 2px; color:#704838; font-size:12px; font-weight:700; cursor:pointer; list-style:none; }
.wiki-sidebar-section summary::-webkit-details-marker { display:none; }
.wiki-sidebar-section summary::after { content:"⌄"; color:#ad816f; font-size:15px; transition:transform .16s ease; }
.wiki-sidebar-section[open] summary::after { transform:rotate(180deg); }
.wiki-sidebar-list { display:grid; gap:2px; padding:0 0 9px; margin:0; list-style:none; }
.wiki-sidebar-list-nested { padding:3px 0 0 13px; margin:3px 0 0 7px; border-left:1px solid #ecd8cf; }
.wiki-sidebar-list li { display:grid; gap:2px; min-width:0; }
.wiki-sidebar-parent { display:flex; align-items:center; gap:2px; min-width:0; }
.wiki-sidebar-parent > a,.wiki-sidebar-parent > span { flex:1 1 auto; min-width:0; }
.wiki-sidebar-subsection { flex:0 0 auto; }
.wiki-sidebar-subsection > summary { display:grid; place-items:center; width:24px; height:24px; border-radius:5px; color:#ad816f; cursor:pointer; list-style:none; }
.wiki-sidebar-subsection > summary::-webkit-details-marker { display:none; }
.wiki-sidebar-subsection > summary:hover { background:#f5e5dd; }
.wiki-sidebar-subsection > summary::after { content:""; }
.wiki-sidebar-subsection[open] > summary { transform:rotate(180deg); }
.wiki-sidebar-list a,.wiki-sidebar-unavailable { display:block; padding:6px 8px; border-radius:6px; color:#8b6252; font-size:11px; line-height:1.4; }
.wiki-sidebar-list a:hover { background:#f5e5dd; color:#684233; }
.wiki-sidebar-list a[aria-current="page"] { background:#f1d8cc; color:#613d2f; font-weight:700; }
.wiki-sidebar-unavailable { color:#b2978a; }
.wiki-page-info { display:grid; gap:7px; padding-top:14px; border-top:1px solid #e7cec2; color:#997868; font-size:11px; }
.wiki-page-info strong { color:#563c30; font-size:12px; }
.wiki-page-info a { color:#8b5d4b; font-weight:700; }
.wiki-document-reading { min-width:0; }
.wiki-document-discussion { grid-column:2; max-width:none; margin-top:0; }
@media (max-width:850px) { .wiki-document-page { width:min(100% - 36px,900px); }.wiki-document-layout { grid-template-columns:1fr; gap:22px; }.wiki-document-sidebar { position:static; }.wiki-document-discussion { grid-column:auto; }.wiki-document-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.wiki-sidebar-section { border:1px solid #e7cec2; border-radius:8px; padding:0 10px; }.wiki-sidebar-section:last-child { border-bottom:1px solid #e7cec2; } }
@media (max-width:530px) { .wiki-document-page { width:min(100% - 28px,720px); }.wiki-document-sidebar,.wiki-document-reading,.wiki-document-discussion { padding:20px; }.wiki-document-nav { grid-template-columns:1fr; } }

/* TATyRealms 暖棕粉主题 */
.site-header { background:rgba(255,247,243,.9); }
.player-avatar { border-color:#e3a384; background:#f4d5c6; }
.player-identity span { color:#a07563; }
.player-identity b { color:#88614f; }
.button { background:#88614f; }
.button:hover { background:#694635; }
.hero { background:radial-gradient(circle at 76% 18%,#f6d3c1 0,transparent 26%),linear-gradient(110deg,#e3a384 0,#cf9479 100%); }
.eyebrow,.section-label { color:#714837; }
.hero h1 em { color:#88614f; }
.hero-copy { color:#5d4339; }
.text-link,.text-button { color:#88614f; }
.text-link { border-color:#9b6d59; }
.slideshow { background:#e3a384; box-shadow:0 25px 55px rgba(76,45,34,.25); }
.slideshow::after { background:linear-gradient(transparent,rgba(57,33,25,.48)); }
.slideshow-arrow { background:rgba(81,47,35,.62); }
.slideshow-arrow:hover { background:rgba(81,47,35,.88); }
.server-status { border-color:#d9b09d; color:#75594d; }
.server-status button,.command-box button { color:#88614f; }
.category { color:#705449; }
.category span { color:#aa725d; }
.category b { color:#a68173; }
.category.active,.category:hover { background:#f4d4c5; color:#88614f; }
.board-group-label { padding:15px 9px 4px; margin:0; color:#9a7464; font:700 10px "DM Mono",monospace; letter-spacing:.8px; text-transform:uppercase; }
.categories .category { width:100%; }
.forum-empty { padding:54px 24px; border:1px dashed #d6aa95; border-radius:12px; background:#fff7f3; color:#856456; text-align:center; }.forum-empty span { color:#b8785e; font-size:24px; }.forum-empty h3 { margin:7px 0 3px; color:var(--ink); font:700 24px "Playfair Display","Noto Serif SC",serif; }.forum-empty p { margin:0; font-size:13px; }
.sidebar-card { background:#88614f; }
.sidebar-card p,.sidebar-card span { color:#f7d9ca; }
.sidebar-card strong { color:#e3a384; }
.avatar { background:#f2d1c1; color:#88614f; }
.post-title:hover { color:#88614f; }
.pin { color:#a54f36; background:#ffe9df; }
.back-link { color:#88614f; }
.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus { border-color:#e3a384; box-shadow:0 0 0 3px #f6dfd4; }
.dev-code { background:#f7dfd4; color:#704837; }
.progress span.current { border-color:#88614f; background:#88614f; }
.progress span.done { border-color:#88614f; background:#f6ddd2; color:#88614f; }
.command-box { border-color:#c58a70; background:#fcedE6; }
.command-box code { color:#704837; }
.success-mark { background:#f7dfd4; color:#88614f; }
.admin-stats strong,.admin-post-row a { color:#88614f; }
.post-body blockquote { border-color:#e3a384; background:#f8e4da; color:#714837; }
.reply-box { background:#f7dfd4; }
.profile-hero { background:linear-gradient(110deg,#88614f,#a8735d); }
.profile-avatar { border-color:#e3a384; background:#f4d5c6; }
.profile-hero .eyebrow { color:#f8d8c8; }
.title-badge { color:#fde8de; }
.profile-hero .button { background:#e3a384; color:#4e3127; }
.level-number,.stats dd { color:#88614f; }
.level-bar,.donate-balance div { background:#efd1c2; }
.level-bar span,.donate-balance i { background:linear-gradient(90deg,#b98269,#e3a384); }
.activity-empty > span { color:#b8785e; }
.wiki-card > .wiki-card-icon { background:#f4d8cb; color:#88614f; }
.wiki-card p,.wiki-note a { color:#88614f; }
.wiki-note { background:#f4d9cd; color:#714f43; }
.article-body code { background:#f4ddd3; color:#88614f; }
.article-body dt { color:#88614f; }
.article-callout { background:#f7e1d7; color:#725448; }
.markdown-alert { margin:24px 0; padding:14px 17px; border:1px solid; border-left-width:4px; border-radius:9px; background:#fffaf7; }
.markdown-alert-title { margin:0 0 7px; font-size:13px; letter-spacing:.2px; }
.markdown-alert-body { font-size:14px; line-height:1.8; }
.markdown-alert-body > :first-child { margin-top:0; }
.markdown-alert-body > :last-child { margin-bottom:0; }
.markdown-alert-note { border-color:#a8c4d8; background:#edf7fc; color:#315d78; }
.markdown-alert-tip { border-color:#a6c98e; background:#eff8e9; color:#3f6934; }
.markdown-alert-attention { border-color:#bda5d1; background:#f7effb; color:#68427a; }
.markdown-alert-warning { border-color:#e3b45f; background:#fff7df; color:#765314; }
.markdown-alert-danger { border-color:#db8b82; background:#fff0ed; color:#863f39; }
.ranking-tabs .active { border-color:#b8785e; background:#f4d6c8; color:#88614f; }
.rank-player img { background:#f1d3c4; }
.rank-score b { color:#88614f; }
.donate-hero { background:radial-gradient(circle at 90% 20%,#e3a384 0,transparent 34%),linear-gradient(130deg,#88614f,#624235); }
.donate-hero .eyebrow,.donate-balance strong { color:#f9d9c9; }
.support-card.featured { border-color:#e3a384; box-shadow:0 13px 35px rgba(112,67,50,.15); }
.support-card p { color:#88614f; }
.popular { background:#88614f; }
.support-form { background:#f4d8cc; }
.success-alert { color:#704837; background:#f7dfd4; border-color:#e3a384; }
.player-summary,.player-identity { flex-shrink:0; }
.player-identity strong { display:block; white-space:nowrap; }
.player-identity b { display:block; white-space:nowrap; }

/* 好友与组织 */
.profile-hero-actions { display:flex; flex-wrap:wrap; gap:9px; margin-left:auto; }.profile-hero-actions .button-quiet { background:rgba(255,255,255,.18); color:white; }.profile-hero-actions form { margin:0; }.community-message { padding:11px 14px; margin:0 0 19px; border:1px solid #d5a08a; border-radius:9px; background:#f8ded3; color:#714534; font-size:13px; }.community-columns { display:grid; grid-template-columns:1fr 1.35fr; gap:18px; }.community-card { padding:26px; border:1px solid var(--line); border-radius:13px; background:var(--white); box-shadow:0 10px 25px rgba(88,50,38,.07); }.community-card-heading { display:flex; align-items:center; justify-content:space-between; padding-bottom:17px; border-bottom:1px solid var(--line); }.community-card h2 { margin:2px 0 0; font:700 24px "Playfair Display","Noto Serif SC",serif; }.community-list { display:grid; }.community-empty { margin:17px 0 2px; color:var(--muted); font-size:13px; }.friend-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; border-bottom:1px solid #edd6ca; }.friend-row:last-child { border-bottom:0; }.friend-person { display:flex; min-width:0; align-items:center; gap:11px; }.friend-person strong,.organization-member strong { overflow:hidden; color:var(--ink); font:700 14px "DM Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }.friend-row form { margin:0; }.friend-avatar,.member-avatar { flex:0 0 39px; width:39px; height:39px; overflow:visible; background:#f4d5c6; }.friend-row .button { min-width:55px; }.organization-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:20px; align-items:start; }.organization-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }.organization-card { display:flex; min-height:210px; flex-direction:column; padding:24px; border:1px solid var(--line); border-radius:13px; background:var(--white); transition:transform .18s,box-shadow .18s,border-color .18s; }.organization-card:hover { border-color:#c98c72; box-shadow:var(--shadow); transform:translateY(-3px); }.organization-logo { display:grid; flex:0 0 72px; width:72px; height:72px; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.38); border-radius:14px; background:rgba(255,250,247,.22); box-shadow:0 5px 15px rgba(69,37,28,.16); }.organization-logo img { width:100%; height:100%; object-fit:cover; }.organization-logo.is-placeholder { color:#f7ddd1; font-size:32px; }.organization-card .organization-logo { width:58px; height:58px; border-color:#ead1c4; background:#f7e0d5; color:#855f50; box-shadow:none; }.organization-card-copy { min-width:0; }.organization-slogan { display:block; margin:0; color:#88614f; font:700 12px "Noto Sans SC",sans-serif; letter-spacing:.2px; }.organization-card h2 { margin:7px 0 8px; color:var(--ink); font:700 24px "Playfair Display","Noto Serif SC",serif; }.organization-card > p { margin:14px 0 0; color:var(--muted); font-size:13px; }.organization-card footer { display:flex; align-items:center; justify-content:space-between; gap:7px; padding:14px 0 0; margin-top:auto; border:0; color:#957264; font-size:11px; text-align:left; }.organization-card footer b { color:#88614f; white-space:nowrap; }.organization-create > p:not(.section-label) { margin:7px 0 21px; color:var(--muted); font-size:12px; }.organization-create .form-stack { gap:13px; }.organization-membership { padding:11px 14px; margin:0 0 19px; border:1px solid #d6aa95; border-radius:9px; background:#f7ded3; color:#704837; font-size:13px; }.organization-membership a { color:#88614f; font-weight:800; }.organization-hero { display:flex; gap:22px; padding:40px; border-radius:15px; background:radial-gradient(circle at 88% 16%,rgba(227,163,132,.45),transparent 32%),linear-gradient(120deg,#88614f,#a8735d); color:white; }.organization-hero-copy { min-width:0; }.organization-hero h1 { margin:5px 0 9px; font:700 clamp(39px,5vw,59px)/1.08 "Playfair Display","Noto Serif SC",serif; }.organization-hero-copy > p:not(.organization-slogan) { max-width:690px; margin:0; color:#feeae1; font-size:15px; }.organization-hero .organization-slogan { color:#f9d5c5; }.organization-meta { display:flex; flex-wrap:wrap; gap:20px; margin:22px 0; color:#fbe0d4; font-size:13px; }.organization-meta a { border-bottom:1px solid #e3a384; color:white; font-weight:700; }.organization-hero form { margin:0; }.organization-hero .button { background:#e3a384; color:#4d3026; }.organization-logo-settings { margin-top:15px; }.organization-logo-settings summary { cursor:pointer; color:#fff2eb; font-size:13px; font-weight:700; }.organization-logo-settings form { display:grid; gap:9px; width:min(100%,340px); padding:12px; margin-top:8px; border-radius:9px; background:rgba(83,46,34,.25); }.organization-logo-settings label,.organization-logo-settings small { color:#fff0e8; font-size:12px; }.organization-logo-settings input { display:block; width:100%; margin-top:5px; color:#fff0e8; }.button-danger { background:#6a4033; color:#fff7f3; }.button-danger:hover { background:#513027; }.organization-locked { margin:0; color:#f9dace; font-size:13px; }.organization-members { margin-top:20px; }.member-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-top:18px; }.organization-member { display:flex; align-items:center; gap:10px; min-width:0; padding:12px; border:1px solid #ebd2c5; border-radius:9px; background:#fffaf7; }.organization-member span:last-child { padding:2px 5px; margin-left:auto; border-radius:4px; background:#f3d5c7; color:#76503f; font-size:9px; font-weight:700; white-space:nowrap; }

/* Minecraft 皮肤头像：底层脸部与第二层头部独立渲染。 */
.minecraft-avatar { position:relative; display:inline-block; overflow:visible; background:#f4d5c6; image-rendering:pixelated; }
.skin-layer { position:absolute; overflow:hidden; pointer-events:none; }
.skin-layer img { position:absolute; display:block; width:800%; max-width:none; height:auto; image-rendering:pixelated; }
.skin-base { inset:0; z-index:1; }.skin-base img { top:-100%; left:-100%; }
.skin-overlay { z-index:2; inset:0; filter:drop-shadow(1px 2px 1px rgba(55,31,23,.42)); transform:scale(1.12); transform-origin:center; }
.skin-overlay img { top:-100%; left:-500%; }
.player-avatar,.profile-avatar,.rank-avatar { overflow:visible; border:0; border-radius:0; }
.rank-avatar { flex:0 0 37px; width:37px; height:37px; background:#f1d3c4; }

/* 首页介绍区与独立玩法轮播。 */
.hero { position:relative; display:block; min-height:0; padding:58px max(6vw,28px); background:transparent; }
.hero::before { content:none; }
.hero .hero-intro { width:min(1000px,100%); max-width:1000px; margin:auto; color:#fffaf7; }
.hero .hero-logo { position:relative; display:block; width:min(100%,1020px); }
.hero .logo { display:block; width:100%; max-width:100%; height:auto; }
.hero .logo-splash { position:absolute; right:4%; bottom:2%; display:block; max-width:44%; color:#fff36a; font:700 clamp(13px,1.8vw,22px)/1.1 "Noto Sans SC",sans-serif; letter-spacing:-.5px; text-align:center; text-shadow:2px 2px 0 #a96832,0 0 8px rgba(255,220,67,.5); transform:rotate(-8deg); transform-origin:center; animation:logo-splash-bob .65s ease-in-out infinite; }
.hero .eyebrow { color:#f7d2c0; }
.hero h1 em { color:#e3a384; }
.hero-copy { color:#f8e7df; }
.hero .text-link { color:#fff5ef; border-color:#e3a384; }
.hero .server-status { border-color:rgba(255,255,255,.36); background:rgba(63,34,25,.45); color:#fdece4; backdrop-filter:blur(8px); }
.hero .server-status strong { color:white; }
.hero .server-status button { border-color:rgba(255,255,255,.32); color:#f8d4c4; }
.server-panel { width:min(420px,100%); margin-top:42px; overflow:hidden; border:1px solid rgba(255,255,255,.36); border-radius:11px; background:rgba(63,34,25,.45); backdrop-filter:blur(8px); }
.server-motd { display:flex; align-items:center; gap:11px; padding:11px 12px; color:#fdece4; }
.server-icon { flex:0 0 43px; width:43px; height:43px; border:1px solid rgba(255,255,255,.42); border-radius:7px; background:#f4d5c6; image-rendering:pixelated; object-fit:cover; }
.server-motd > div { min-width:0; }.server-name { display:block; margin-bottom:2px; color:#fffaf7; font:700 15px "DM Mono",monospace; }.server-motd-text { color:white; font-size:13px; line-height:1.35; }.server-motd-text span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.server-motd p { margin:2px 0 0; color:#f3d7ca; font:11px "DM Mono",monospace; }
.hero .server-panel .server-status { width:100%; max-width:none; margin:0; border-width:1px 0 0; border-radius:0; background:rgba(32,18,13,.18); }
.hero .social-links { display:flex; gap:10px; margin-top:18px; }
.hero .social-link { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.4); border-radius:50%; background:rgba(63,34,25,.48); color:#fff5ef; backdrop-filter:blur(8px); transition:background .18s,transform .18s,border-color .18s; }
.hero .social-link:hover { border-color:#e3a384; background:#e3a384; color:#553224; transform:translateY(-3px) scale(1.06); }.hero .social-link svg { width:24px; height:24px; }
@media (max-width:850px) { .hero { padding:48px 28px; } }
@media (max-width:530px) { .hero .social-links { margin-top:16px; } }

/* 社区头像的皮肤图层不得继承排行榜或成员徽章的通用规则。 */
.rank-player > img { width:37px; height:37px; border-radius:9px; background:#f1d3c4; image-rendering:pixelated; }
.rank-player .skin-layer img { width:800%; height:auto; border-radius:0; background:transparent; }
.organization-members,.organization-requests { margin-top:20px; }
.organization-member { display:flex; min-width:0; padding:12px; border:1px solid #ebd2c5; border-radius:9px; background:#fffaf7; }
.organization-member-profile { display:flex; flex:1; min-width:0; align-items:center; gap:10px; }
.organization-member .skin-layer img { width:800%; height:auto; border-radius:0; background:transparent; }
.organization-member .minecraft-avatar > .skin-overlay { padding:0; margin:0; border-radius:0; background:transparent; color:inherit; font-size:inherit; font-weight:inherit; white-space:normal; }
.organization-role { padding:2px 5px; margin-left:auto; border-radius:4px; background:#f3d5c7; color:#76503f; font-size:9px; font-weight:700; white-space:nowrap; }
.manager-toggle { margin:0; }
.manager-toggle .text-button { color:#96705f; font-size:11px; white-space:nowrap; }
.request-actions { display:flex; align-items:center; gap:8px; }
.request-actions form { margin:0; }

/* 社交整合页 */
.social-shell { display:grid; grid-template-columns:220px minmax(0,1fr); gap:22px; align-items:start; }
.social-sidebar { position:sticky; top:92px; padding:20px 14px; border:1px solid var(--line); border-radius:13px; background:var(--white); box-shadow:0 10px 25px rgba(88,50,38,.07); }
.social-sidebar > .section-label { padding:0 10px; margin-bottom:9px; }
.social-sidebar-nav { display:grid; gap:4px; }
.social-nav-item { display:grid; grid-template-columns:25px minmax(0,1fr) auto; align-items:center; gap:8px; padding:10px; border-radius:8px; color:#76503f; font-size:13px; transition:background .18s,color .18s; }
.social-nav-item:hover { background:#f8e7df; color:#5d3d30; }
.social-nav-item.is-active { background:#f1ded5; color:#704837; font-weight:800; }
.social-nav-item b { min-width:20px; padding:2px 5px; border-radius:10px; background:#f6e8e1; color:#9a6b59; font:700 10px "DM Mono",monospace; text-align:center; }
.social-nav-item.is-active b { background:#fff7f3; color:#88614f; }
.social-nav-icon { color:#a7725d; font-size:18px; line-height:1; text-align:center; }
.social-sidebar-tip { padding:15px 10px 2px; margin-top:16px; border-top:1px solid #edd6ca; }
.social-sidebar-tip strong { display:block; color:#76503f; font-size:12px; }
.social-sidebar-tip p { margin:6px 0 0; color:var(--muted); font-size:11px; line-height:1.65; }
.social-main { min-width:0; }
.social-panel { display:none; padding:28px; border:1px solid var(--line); border-radius:13px; background:var(--white); box-shadow:0 10px 25px rgba(88,50,38,.07); }
.social-panel.is-active { display:block; }
.social-panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:18px; margin-bottom:4px; border-bottom:1px solid var(--line); }
.social-panel-heading h2 { margin:2px 0 5px; color:var(--ink); font:700 27px "Playfair Display","Noto Serif SC",serif; }
.social-panel-heading p:not(.section-label) { margin:0; color:var(--muted); font-size:12px; }
.social-panel-heading .text-link { flex:0 0 auto; margin-top:6px; }
.social-panel .community-list { min-height:90px; }
.social-panel .organization-layout { margin-top:18px; }
@media (max-width:850px) { .social-shell { grid-template-columns:1fr; }.social-sidebar { position:static; padding:13px; }.social-sidebar > .section-label,.social-sidebar-tip { display:none; }.social-sidebar-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }.social-nav-item { grid-template-columns:22px minmax(0,1fr) auto; padding:9px 8px; }.social-panel { padding:23px; } }
@media (max-width:530px) { .social-sidebar-nav { grid-template-columns:1fr; }.social-nav-item { grid-template-columns:25px minmax(0,1fr) auto; }.social-panel { padding:20px 17px; }.social-panel-heading { display:block; }.social-panel-heading .text-link { display:inline-block; margin-top:13px; }.social-panel .organization-layout { grid-template-columns:1fr; }.social-panel .organization-create { order:-1; } }

.home-community { padding:72px max(6vw,28px); background:#f5d7c8; }
.home-community-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:18px; max-width:1280px; margin:auto; }
.home-community-grid { grid-template-columns:1fr; gap:22px; }
.home-feature-layout { display:grid; grid-template-columns:minmax(0,1fr); width:min(1000px,calc(100vw - 624px)); max-width:100%; margin:auto; align-items:start; }
.announcements { width:100%; margin:0; }
.home-info-card.home-feature-sidebar { position:sticky; z-index:1; top:96px; grid-column:1; grid-row:1; width:260px; padding:18px 13px; border:1px solid rgba(216,171,151,.92); border-radius:13px; background:#fff7f3; box-shadow:0 10px 24px rgba(61,42,34,.18); transform:translateX(calc(-100% - 28px)); }
.home-feature-main { display:grid; grid-column:1; grid-row:1; gap:22px; min-width:0; }
.home-feature-slideshow { width:100%; min-height:0; aspect-ratio:16 / 8; border:1px solid rgba(216,171,151,.92); border-radius:14px; background:#e3a384; box-shadow:0 12px 28px rgba(61,42,34,.19); }
.home-feature-slideshow .slideshow-arrow { display:none; }
.home-feature-slideshow .server-panel { position:absolute; z-index:1; bottom:18px; left:18px; width:min(340px,calc(100% - 110px)); margin:0; }
.home-feature-slideshow .server-panel .server-status { width:100%; max-width:none; margin:0; border-width:1px 0 0; border-radius:0; background:rgba(32,18,13,.18); }
.home-feature-slideshow .slideshow-nav { position:absolute; z-index:1; top:50%; right:24px; display:flex; flex-direction:column; align-items:flex-end; gap:14px; max-width:calc(100% - 48px); transform:translateY(-50%); }
.home-feature-slideshow .slideshow-nav button { position:relative; padding:3px 0 7px; border:0; background:transparent; color:rgba(255,250,247,.72); font:700 13px "Noto Sans SC",sans-serif; cursor:pointer; transition:color .18s,transform .18s; }
.home-feature-slideshow .slideshow-nav button::after { position:absolute; right:0; bottom:0; left:0; height:2px; background:currentColor; content:""; opacity:0; transform:scaleX(.35); transition:opacity .18s,transform .18s; }
.home-feature-slideshow .slideshow-nav button:hover,.home-feature-slideshow .slideshow-nav button:focus-visible,.home-feature-slideshow .slideshow-nav button.is-active { color:#fff; outline:0; transform:translateX(-2px); }
.home-feature-slideshow .slideshow-nav button.is-active::after { opacity:1; transform:scaleX(1); }
.home-feature-slideshow .slideshow-actions { position:absolute; z-index:2; right:18px; bottom:18px; display:flex; align-items:center; justify-content:flex-end; gap:11px; max-width:calc(100% - 36px); }
.home-feature-slideshow .slideshow-actions .button { padding:9px 14px; font-size:12px; white-space:nowrap; }
.home-feature-slideshow .slideshow-actions .text-link { border-color:rgba(255,250,247,.72); color:#fffaf7; text-shadow:0 1px 3px rgba(40,20,14,.65); white-space:nowrap; }
.home-feature-sidebar .section-label { margin-bottom:7px; }.home-feature-sidebar .home-card-heading { display:grid; gap:6px; margin-bottom:4px; }.home-feature-sidebar .home-card-heading h2 { font-size:22px; }.home-feature-sidebar .text-link { width:max-content; font-size:12px; }
.announcement-date { display:block; padding:13px 0 9px; color:#98634e; font:700 11px "DM Mono",monospace; }
.announcement-list { display:grid; gap:0; padding:0; margin:0; list-style:none; }
.announcement-list li { border-top:1px solid #edd3c6; }
.announcement-list a { display:block; padding:13px 0; color:var(--ink); font-size:12px; transition:color .18s, padding .18s; }
.announcement-list a::before { margin-right:7px; color:#b17a63; content:"•"; }
.announcement-list a:hover { padding-left:5px; color:#88614f; }
.announcement-changelog { margin-top:17px; }.announcement-list-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#76503f; font-size:12px; font-weight:800; }.announcement-list-heading a { color:#987263; font-size:10px; font-weight:700; }.announcement-changelog-list { margin-top:7px; }.announcement-changelog-list a { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.announcement-empty { padding:12px 0; color:#987263; font-size:11px; }
.home-feature-sidebar .social-links { display:flex; gap:8px; padding-top:14px; margin-top:10px; border-top:1px solid #edd3c6; }
.home-feature-sidebar .social-link { display:grid; place-items:center; width:34px; height:34px; border:1px solid #d8a791; border-radius:50%; background:#fff5f0; color:#88614f; transition:background .18s,color .18s,transform .18s; }
.home-feature-sidebar .social-link:hover { background:#88614f; color:#fff7f3; transform:translateY(-2px); }.home-feature-sidebar .social-link svg { width:20px; height:20px; }
.gameplay-showcase { width:100%; margin:0; }
.home-info-card.home-feature-feed { z-index:0; width:100%; min-width:0; padding:25px 27px; border:1px solid rgba(216,171,151,.92); border-radius:14px; background:#fff7f3; box-shadow:0 12px 28px rgba(61,42,34,.19); }
.gameplay-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.gameplay-card { min-width:0; overflow:hidden; border:1px solid #ead0c3; border-radius:9px; background:#fffaf7; transition:border-color .18s,box-shadow .18s,transform .18s; }
.gameplay-card:hover { border-color:#c48970; box-shadow:0 8px 18px rgba(88,50,38,.12); transform:translateY(-2px); }
.gameplay-card img { display:block; width:100%; aspect-ratio:16 / 9; height:auto; border-radius:8px; object-fit:cover; }
.gameplay-card > div { min-width:0; padding:11px 12px 13px; }
.gameplay-card h3 { margin:0; color:var(--ink); font-size:15px; }.gameplay-card h3::before { margin-right:7px; color:#b17a63; content:"◌"; }
.gameplay-card p { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }
.faq-section { padding-top:29px; margin-top:30px; border-top:1px solid #edd3c6; }.faq-section .home-card-heading { margin-bottom:15px; }.faq-section .home-card-heading h2 { font-size:24px; }.faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.faq-item { padding:14px 15px; border:1px solid #ead0c3; border-radius:9px; background:#fffaf7; }.faq-item h3,.faq-item p { margin:0; }.faq-item h3 { color:var(--ink); font-size:13px; }.faq-item p { margin-top:7px; color:var(--muted); font-size:11px; line-height:1.65; }.faq-item span { margin-right:5px; color:#a56f5a; font:700 10px "DM Mono",monospace; }.faq-item b { color:#76503f; font:700 10px "DM Mono",monospace; }
.home-people-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; max-width:1000px; margin:auto; }
.home-info-card { padding:27px; border:1px solid #d8ab97; border-radius:14px; background:#fff7f3; box-shadow:0 14px 30px rgba(91,53,38,.1); }
.home-card-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:10px; }
.home-card-heading h2 { margin:0; font:700 27px Playfair Display,serif; letter-spacing:-.6px; }
.home-card-heading > span { color:#987263; font-size:11px; }
.team-card,.links-card { text-align:center; }
.thanks-card { text-align:left; }
.team-card .home-card-heading { text-align:center; }
.thanks-card .home-card-heading { text-align:left; }
.team-card .home-card-heading,.links-card .home-card-heading { display:block; }
.thanks-card .home-card-heading { display:block; }
.team-card .home-card-heading > span,.links-card .home-card-heading > span { display:block; margin-top:3px; }
.announcement-item { display:grid; grid-template-columns:50px minmax(0,1fr) auto; gap:11px; align-items:center; padding:15px 0; border-top:1px solid #edd3c6; transition:padding .18s; }
.announcement-item:hover { padding-left:5px; }
.announcement-item time { color:#98634e; font:700 10px DM Mono,monospace; }
.announcement-item strong { display:block; color:var(--ink); font-size:13px; }
.announcement-item p { margin:3px 0 0; color:var(--muted); font-size:11px; }
.announcement-item > span { color:#aa765f; font-size:17px; }
.team-members { display:grid; gap:10px; padding-top:3px; }
.team-member { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:11px; min-width:0; padding:10px; border-radius:9px; background:#f8e5dc; text-align:left; }
.thanks-card .team-member { justify-content:flex-start; }
.team-member strong,.team-member small { display:block; }
.team-member strong { overflow:hidden; color:var(--ink); font:700 13px DM Mono,monospace; text-overflow:ellipsis; white-space:nowrap; }
.team-member small { color:#906c5d; font-size:10px; }
.team-member-info { display:grid; flex:1 1 0; min-width:0; gap:2px; }
.team-member-technologies { display:grid; flex:0 0 100%; gap:4px; width:100%; min-width:0; }
.team-member-technologies-label { color:#906c5d; font-size:10px; text-align:center; }
.technology-scroller { display:block; width:100%; overflow:hidden; padding:1px 0 7px; }
.technology-list { display:flex; width:max-content; min-width:max-content; gap:7px; padding-right:7px; will-change:transform; }
.technology-list[data-technology-loop="true"] { animation:technology-list-scroll 20s linear infinite; }
.technology-scroller:hover .technology-list,.technology-scroller:focus-within .technology-list { animation-play-state:paused; }
@keyframes technology-list-scroll { to { transform:translateX(-50%); } }
.technology-item { display:flex; flex:0 0 auto; align-items:center; gap:3px; min-height:35px; padding:4px; border:1px solid #e2bbaa; border-radius:6px; background:#fff5f0; color:#76503f; font-size:9px; line-height:1.15; }
.technology-item img { display:block; flex:0 0 18px; width:18px; height:18px; object-fit:contain; }
.technology-item > span { min-width:0; overflow-wrap:anywhere; }
.member-social-links { display:flex; flex-wrap:wrap; gap:5px; margin-top:4px; }
.member-social-links a { padding:2px 6px; border:1px solid #d8a791; border-radius:4px; color:#7e5242; background:#fff5f0; font-size:9px; font-weight:700; line-height:1.25; transition:background .18s,color .18s; }
.member-social-links a:hover { color:#fff7f3; background:#88614f; }
.team-avatar { flex:0 0 38px; width:38px; height:38px; overflow:visible; background:#e3a384; }
.team-placeholder { display:grid; place-items:center; color:#fff8f4; font:700 19px Playfair Display,serif; }
.friendly-links { display:grid; gap:8px; padding-top:3px; }
.links-card { width:min(100%,1000px); margin:auto; padding:0; overflow:hidden; border:0; background:transparent; box-shadow:none; }
.links-card > .section-label,.links-card > .home-card-heading { text-align:center; }
.links-card > .section-label { margin-bottom:12px; }
.links-card > .home-card-heading { margin-bottom:18px; }
.friendly-links { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; padding:0; }
.friendly-link { position:relative; min-height:170px; overflow:hidden; border-radius:13px; color:#fff8f4; background-size:cover; background-position:center; }
.friendly-link::before { position:absolute; inset:0; background:linear-gradient(180deg,rgba(48,27,20,.08),rgba(54,29,22,.84)); content:''; transition:background .2s; }
.friendly-link:hover::before { background:linear-gradient(180deg,rgba(48,27,20,.08),rgba(54,29,22,.65)); }
.friendly-link > span,.friendly-link > i { position:relative; z-index:1; }
.friendly-link > span { align-self:end; display:grid; gap:2px; }
.friendly-link > i { align-self:start; justify-self:end; font-style:normal; font-size:19px; }
.friendly-link b { color:#fff; font:700 17px Playfair Display,serif; }
.friendly-link small { color:#f8ded2; font-size:11px; }
.friendly-links a { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1px 10px; padding:10px 11px; border:1px solid #ead0c3; border-radius:8px; background:#fffaf7; text-align:left; transition:border-color .18s,transform .18s; }
.friendly-links a:hover { border-color:#c48970; transform:translateX(3px); }
.friendly-links b { overflow:hidden; color:#76503f; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.friendly-links small { color:#987263; font-size:10px; }
.friendly-links span { grid-row:1 / span 2; grid-column:2; color:#a7725d; font-size:15px; }
@media (max-width:1100px) { .home-feature-layout { width:100%; grid-template-columns:1fr; gap:18px; }.home-info-card.home-feature-sidebar { position:static; grid-column:auto; grid-row:auto; width:auto; transform:none; }.home-feature-main,.home-info-card.home-feature-feed { grid-column:auto; grid-row:auto; }.announcements { grid-column:auto; } }
@media (max-width:620px) { .home-community { padding:48px 20px; }.home-community-grid { grid-template-columns:1fr; }.announcements { grid-column:auto; }.home-info-card { padding:23px; } }
@media (max-width:720px) { .home-people-row,.friendly-links,.gameplay-grid,.faq-grid { grid-template-columns:1fr; }.friendly-link { min-height:135px; } }
@media (max-width:460px) { .home-info-card.home-feature-feed { padding:21px; }.gameplay-card h3 { font-size:16px; } }
@media (max-width:530px) { .player-search { flex:1 1 115px; min-width:0; }.player-search input { padding-left:8px; }.player-search button { flex-basis:31px; }.content-search { width:100%; }.page-heading-actions { width:100%; }.feed-heading .content-search { margin-left:0; } }

/* 论坛右侧动态与实时更新区域。 */
.forum-page-shell { grid-template-columns:190px minmax(0,1fr) 260px; gap:28px; align-items:start; }
.forum-page-shell .categories { position:sticky; top:96px; padding:18px 13px; border:1px solid rgba(216,171,151,.92); border-radius:13px; background:rgba(255,247,243,.94); box-shadow:0 10px 24px rgba(61,42,34,.18); backdrop-filter:blur(6px); }
.forum-page-shell .feed { padding:25px 27px; border:1px solid rgba(216,171,151,.92); border-radius:14px; background:rgba(255,247,243,.95); box-shadow:0 12px 28px rgba(61,42,34,.19); backdrop-filter:blur(6px); }
.forum-sidebar { display:grid; gap:15px; position:sticky; top:91px; }
.forum-side-card { overflow:hidden; padding:19px; border:1px solid rgba(216,171,151,.95); border-radius:13px; background:rgba(255,247,243,.95); box-shadow:0 10px 24px rgba(61,42,34,.19); backdrop-filter:blur(6px); }
.forum-side-heading { display:flex; align-items:end; justify-content:space-between; gap:10px; }.forum-side-card .section-label { margin-bottom:5px; color:#9b705f; font-size:9px; }.forum-side-card h2 { margin:0; color:var(--ink); font:700 22px "Playfair Display","Noto Serif SC",serif; }
.forum-trend-tabs { display:flex; gap:5px; padding:14px 0 7px; border-bottom:1px solid #ecd3c7; }.forum-trend-tabs button { border:0; border-radius:5px; padding:5px 8px; background:transparent; color:#966f5f; font:700 11px "Noto Sans SC",sans-serif; cursor:pointer; }.forum-trend-tabs button:hover,.forum-trend-tabs button.is-active { background:#f1d4c6; color:#76503f; }
.forum-trend-list { display:grid; }.forum-trend-row { display:grid; grid-template-columns:23px minmax(0,1fr) auto; gap:7px; align-items:center; padding:11px 0; border-bottom:1px solid #f0ded5; }.forum-trend-row:last-child { border-bottom:0; }.forum-trend-row > span { color:#bb8167; font:700 10px "DM Mono",monospace; }.forum-trend-row div { display:grid; min-width:0; gap:1px; }.forum-trend-row strong { overflow:hidden; color:#50382e; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.forum-trend-row small { overflow:hidden; color:#9b7666; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }.forum-trend-row > b { color:#a16d57; font:700 9px "DM Mono",monospace; text-align:right; white-space:nowrap; }
.forum-stats dl { display:grid; gap:0; margin:13px 0 0; }.forum-stats dl div { display:flex; align-items:baseline; justify-content:space-between; padding:10px 0; border-top:1px solid #ecd3c7; }.forum-stats dt { color:#957262; font-size:11px; }.forum-stats dd { margin:0; color:#88614f; font:700 18px "DM Mono",monospace; }.forum-page-shell .feed { min-width:0; }
.pagination { display:flex; align-items:center; justify-content:center; gap:12px; padding:25px 0 4px; color:#8c695a; font-size:12px; }.pagination b { color:#694635; font-family:"DM Mono",monospace; }.pagination a { display:grid; place-items:center; width:31px; height:31px; border:1px solid #d8ab97; border-radius:7px; background:#fff7f3; color:#88614f; font-size:17px; transition:background .18s,color .18s,transform .18s; }.pagination a:hover { background:#88614f; color:#fff7f3; transform:translateY(-1px); }.pagination a.is-disabled { pointer-events:none; opacity:.38; }
@media (max-width:1080px) { .forum-page-shell { grid-template-columns:180px minmax(0,1fr); }.forum-sidebar { position:static; grid-column:2; grid-template-columns:repeat(2,minmax(0,1fr)); }.forum-side-card { height:100%; } }
@media (max-width:850px) { .forum-page-shell { display:grid; grid-template-columns:1fr; }.forum-page-shell .categories { display:none; }.forum-page-shell .feed { padding:22px; }.forum-sidebar { grid-column:auto; grid-template-columns:repeat(2,minmax(0,1fr)); position:static; } }
@media (max-width:560px) { .forum-sidebar { grid-template-columns:1fr; }.forum-trend-row { grid-template-columns:25px minmax(0,1fr); }.forum-trend-row > b { display:none; } }

.post-detail-feed { padding-top:20px !important; }
.post-detail-page { width:min(1360px,calc(100% - 56px)); }
.post-detail-page .forum-page-shell { width:100%; max-width:none; padding-right:0; padding-left:0; grid-template-columns:180px minmax(0,1fr) 320px; }
@media (max-width:1080px) { .post-detail-page .forum-page-shell { grid-template-columns:180px minmax(0,1fr); } }
@media (max-width:850px) { .post-detail-page { width:min(100% - 36px,720px); }.post-detail-page .forum-page-shell { grid-template-columns:1fr; } }
@media (max-width:530px) { .post-detail-page { width:min(100% - 28px,720px); } }
.post-detail-feed .back-link { display:inline-block; margin-bottom:17px; }
.post-card-avatar,.post-author-avatar,.comment-avatar { overflow:visible; border-radius:0; background:#f4d5c6; }
.post-card-avatar { width:38px; height:38px; }
.post-author-avatar { flex:0 0 38px; width:38px; height:38px; }
.comments-sidebar { min-width:0; }
.comments-card { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; height:calc(100vh - 110px); max-height:calc(100vh - 110px); overflow:hidden; }
.comment-sort { display:flex; gap:5px; padding:13px 0 7px; border-bottom:1px solid #ecd3c7; }
.comment-sort button,.comment-actions button,.comment-expand { border:0; border-radius:5px; padding:5px 8px; background:transparent; color:#966f5f; font:700 11px "Noto Sans SC",sans-serif; cursor:pointer; }
.comment-sort button.is-active,.comment-sort button:hover,.comment-actions button:hover,.comment-expand:hover { background:#f1d4c6; color:#76503f; }
.comment-actions button.is-replying { background:#f1d4c6; color:#76503f; }
.post-actions [data-post-like].is-liked,.comment-actions [data-comment-like].is-liked { color:#a94b64; background:#f8d8df; }
.comments-list { display:grid; align-content:start; gap:2px; }.comments-card .comments-list { min-height:0; padding:2px 3px; overflow:auto; scrollbar-color:#d8ab97 transparent; scrollbar-width:thin; }.comments-card .comments-list::-webkit-scrollbar { width:7px; }.comments-card .comments-list::-webkit-scrollbar-track { background:transparent; }.comments-card .comments-list::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:999px; background:#d8ab97; background-clip:padding-box; }
.comment-node { padding:13px 0 9px; border-bottom:1px solid #f0ded5; scroll-margin-top:96px; }
.comment-node:target { padding-left:10px; border-radius:8px; background:#fff1e8; box-shadow:inset 3px 0 #b05a3e; }
.comment-node.depth-1,.comment-node.depth-2,.comment-node.depth-3 { margin-left:16px; padding-left:9px; border-left:2px solid #ecd0c1; }
.comment-head { display:flex; align-items:center; gap:8px; min-width:0; }.comment-head strong { overflow:hidden; color:#50382e; font:700 11px "DM Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }.comment-head time { margin-left:auto; color:#ad8878; font-size:9px; white-space:nowrap; }.comment-avatar { flex:0 0 28px; width:28px; height:28px; }
.comment-node p { margin:7px 0 5px; color:#75594d; font-size:12px; line-height:1.65; overflow-wrap:anywhere; }.comment-actions { display:flex; gap:4px; }.comment-children[hidden] { display:none; }.comment-expand { margin:4px 0 2px 46px; }
.comment-form { display:grid; gap:9px; margin-top:15px; padding-top:14px; border-top:1px solid #ecd3c7; }.comment-form textarea { width:100%; resize:vertical; padding:9px; border:1px solid #d8ab97; border-radius:7px; background:#fffaf7; color:var(--ink); font:12px "Noto Sans SC",sans-serif; }.comment-form .button { justify-self:end; }.comments-card > .comment-form { margin-top:0; padding:14px 0 0; }.comments-card > .comment-login { margin:0; padding-top:14px; border-top:1px solid #ecd3c7; background:rgba(255,247,243,.98); }.comment-login { margin:15px 0 0; color:#957262; font-size:12px; }.post-appends { margin-top:26px; }.post-append { margin:16px 0 0; padding:18px 20px; border:1px solid #ecd3c7; border-left:3px solid #b98269; border-radius:9px; background:#fff9f5; }.post-append-head { display:flex; align-items:center; gap:8px; }.post-append-head strong { color:#50382e; font:700 12px "DM Mono",monospace; }.post-append-head time { margin-left:auto; color:#ad8878; font-size:10px; }.post-append-body { margin-top:10px; color:#526058; font-size:14px; line-height:1.85; }.append-form { display:grid; gap:9px; margin-top:18px; padding:16px 18px; border:1px solid #ecd3c7; border-radius:10px; background:#fbf1ea; }.append-form .section-label { margin:0; }.append-form textarea { width:100%; resize:vertical; padding:9px; border:1px solid #d8ab97; border-radius:7px; background:#fffaf7; color:var(--ink); font:12px "Noto Sans SC",sans-serif; }.append-form .button { justify-self:end; }
.markdown-toolbar { display:flex; flex-wrap:wrap; gap:5px; padding:8px; border:1px solid #d8ab97; border-bottom:0; border-radius:8px 8px 0 0; background:#f8e3d9; }.markdown-toolbar button,.image-upload,.color-picker { display:grid; min-width:31px; min-height:29px; place-items:center; padding:4px 7px; border:1px solid #d6aa95; border-radius:5px; background:#fffaf7; color:#76503f; font:700 11px "Noto Sans SC",sans-serif; cursor:pointer; }.markdown-toolbar button:hover,.image-upload:hover,.color-picker:hover { background:#f0cfc0; }.image-upload input,.color-picker input { display:none; }.color-picker { position:relative; }.color-picker .color-swatch { color:#e25555; }.form-stack .markdown-toolbar + textarea { border-radius:0 0 8px 8px; }.post-body h1,.post-body h2,.post-body h3,.post-body h4,.post-body h5,.post-body h6 { margin:25px 0 10px; color:var(--ink); line-height:1.3; }.post-body h1 { font-size:29px; }.post-body h2 { font-size:23px; }.post-body h3 { font-size:18px; }.post-body h4 { font-size:16px; }.post-body h5,.post-body h6 { font-size:14px; }.post-body img,.comment-body img { display:block; max-width:100%; height:auto; margin:16px 0; border-radius:8px; }.md-link,.post-body a,.comment-body a,.article-body a,.markdown-preview a,.profile-signature-markdown a,.markdown-alert-body a { color:#c45c3a; font-weight:600; text-decoration:underline; text-underline-offset:2px; }.md-link:hover,.post-body a:hover,.comment-body a:hover,.article-body a:hover,.markdown-preview a:hover,.profile-signature-markdown a:hover,.markdown-alert-body a:hover { color:#a13f28; }.post-body code,.comment-body code { padding:2px 5px; border-radius:4px; background:#f4ddd3; color:#714837; }.post-body ul,.post-body ol { margin:18px 0; padding-left:26px; }.post-body li { margin:5px 0; }.post-body pre { margin:22px 0; padding:14px 16px; border:1px solid #d8ab97; border-radius:8px; background:#3a2a22; overflow:auto; }.post-body pre code { padding:0; border-radius:0; background:transparent; color:#f4ddd3; font:12px/1.7 "DM Mono",monospace; }.post-body hr { height:1px; margin:28px 0; border:0; background:#e8cdc0; }.post-body table { width:100%; margin:22px 0; border-collapse:collapse; font-size:13px; }.post-body th,.post-body td { padding:8px 12px; border:1px solid #e0c3b4; text-align:left; }.post-body th { background:#f8e3d9; color:#714837; }.comment-body p { margin:7px 0 5px; color:#75594d; font-size:12px; line-height:1.65; overflow-wrap:anywhere; }
.code-block { position:relative; margin:22px 0; }.code-block-header { position:absolute; z-index:1; top:0; right:0; left:0; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:38px; padding:5px 9px 0 16px; box-sizing:border-box; }.code-block-title { min-width:0; overflow:hidden; color:#d9b9ac; font:700 11px "Noto Sans SC",sans-serif; text-overflow:ellipsis; white-space:nowrap; }.code-block pre { margin:0; padding:42px 16px 14px; border:1px solid #d8ab97; border-radius:8px; background:#3a2a22; overflow:auto; }.code-block pre code { padding:0; border-radius:0; background:transparent; color:#f4ddd3; font:12px/1.7 "DM Mono",monospace; }.code-copy-button { flex:0 0 auto; border:1px solid rgba(244,221,211,.35); border-radius:5px; padding:4px 8px; background:rgba(89,57,45,.86); color:#f4ddd3; font:700 11px "Noto Sans SC",sans-serif; cursor:pointer; transition:background .18s,color .18s,opacity .18s; }.code-copy-button:hover,.code-copy-button:focus-visible { background:#f0cfc0; color:#50382e; outline:0; }.code-copy-button:disabled { cursor:wait; opacity:.8; }
.markdown-preview .code-block pre { margin:0; padding:42px 14px 12px; }
.editor-page-with-preview { display:grid; grid-template-columns:minmax(0,760px) 290px; gap:22px; width:min(1100px,calc(100% - 40px)); align-items:start; }.editor-page-with-preview .editor-main { min-width:0; }.editor-page-with-preview .editor-card { width:100%; }.editor-page-with-preview textarea { min-height:350px; }.editor-page-with-preview textarea.is-dragging { border-color:#88614f; background:#f8ded3; box-shadow:inset 0 0 0 2px #e3a384; }.markdown-preview { position:sticky; top:96px; max-height:calc(100vh - 116px); padding:19px; border:1px solid rgba(216,171,151,.95); border-radius:13px; background:rgba(255,247,243,.95); box-shadow:0 10px 24px rgba(61,42,34,.19); overflow:auto; }.markdown-preview > h2 { margin:0 0 12px; color:var(--ink); font:700 22px "Playfair Display","Noto Serif SC",serif; }.markdown-preview > div { color:#5d4339; font-size:13px; line-height:1.75; }.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6 { margin:13px 0 7px; color:var(--ink); }.markdown-preview h1 { font-size:25px; }.markdown-preview h2 { font-size:20px; }.markdown-preview h3 { font-size:16px; }.markdown-preview h4,.markdown-preview h5,.markdown-preview h6 { font-size:14px; }.markdown-preview img { max-width:100%; height:auto; margin:9px 0; border-radius:6px; }.markdown-preview ul,.markdown-preview ol { margin:10px 0; padding-left:24px; }.markdown-preview li { margin:4px 0; }.markdown-preview pre { margin:12px 0; padding:12px 14px; border:1px solid #d8ab97; border-radius:7px; background:#3a2a22; overflow:auto; }.markdown-preview pre code { padding:0; background:transparent; color:#f4ddd3; font:11px/1.7 "DM Mono",monospace; }.markdown-preview hr { height:1px; margin:16px 0; border:0; background:#e8cdc0; }.markdown-preview table { width:100%; margin:12px 0; border-collapse:collapse; font-size:12px; }.markdown-preview th,.markdown-preview td { padding:6px 10px; border:1px solid #e0c3b4; text-align:left; }.markdown-preview th { background:#f8e3d9; color:#714837; }.markdown-preview-empty { color:#9b7666; }.post-body img,.comment-body img { cursor:zoom-in; }.image-lightbox { width:min(96vw,1200px); max-height:94vh; padding:24px; border:0; border-radius:12px; background:rgba(18,12,9,.96); box-shadow:0 28px 80px rgba(0,0,0,.62); }.image-lightbox::backdrop { background:rgba(0,0,0,.76); }.image-lightbox img { display:block; max-width:100%; max-height:calc(94vh - 48px); margin:auto; object-fit:contain; }.image-lightbox button { position:absolute; top:6px; right:11px; border:0; background:transparent; color:white; font-size:32px; cursor:pointer; }
@media (max-width:960px) { .editor-page-with-preview { grid-template-columns:1fr; width:min(760px,calc(100% - 40px)); }.markdown-preview { position:static; max-height:none; min-height:220px; } }

/* 论坛标签与组合筛选。 */
.forum-filters { display:grid; grid-template-columns:minmax(160px,1.4fr) repeat(3,minmax(110px,1fr)) auto auto; align-items:end; gap:10px; padding:14px; margin:-4px 0 7px; border:1px solid #e6cabc; border-radius:10px; background:#fffaf7; }.forum-filters label { display:grid; gap:5px; color:#76503f; font-size:10px; font-weight:800; }.forum-filters input,.forum-filters select { width:100%; min-width:0; padding:8px 9px; border:1px solid #d8ab97; border-radius:6px; outline:0; background:white; color:var(--ink); font:12px "Noto Sans SC",sans-serif; }.forum-filters input:focus,.forum-filters select:focus { border-color:#88614f; box-shadow:0 0 0 3px #f6dfd4; }.forum-filters .button { min-height:34px; padding:8px 12px; white-space:nowrap; }.forum-filter-reset { align-self:center; padding:8px 1px; color:#88614f; font-size:12px; font-weight:700; white-space:nowrap; }.forum-filter-reset:hover { color:#5f3e31; text-decoration:underline; }.post-tags { display:flex; flex-wrap:wrap; gap:6px; margin:-2px 0 11px; }.post-tag { display:inline-flex; align-items:center; padding:3px 7px; border:1px solid #e5c1b0; border-radius:999px; background:#fff4ee; color:#9a5c45; font-size:11px; font-weight:700; line-height:1.2; }.post-tag:hover { border-color:#c88164; background:#f8ded3; color:#704332; }.post-reading > .post-tags { margin:0 0 8px; }.form-stack label small { color:#957262; font-size:11px; font-weight:500; }
.forum-filter-card .forum-filters { grid-template-columns:1fr; gap:11px; padding:0; margin:14px 0 0; border:0; background:transparent; }.forum-filter-card .forum-filters .button { width:100%; }.forum-filter-card .forum-filter-reset { justify-self:start; padding:0; }
.tag-picker { min-width:0; padding:0; border:0; }.tag-picker legend { padding:0; color:#3d4a42; font-size:13px; font-weight:700; }.tag-picker-options { display:flex; flex-wrap:wrap; gap:7px; margin-top:8px; }.tag-picker .tag-choice { display:inline-flex; align-items:center; gap:0; cursor:pointer; }.tag-picker .tag-choice[hidden] { display:none; }.tag-picker .tag-choice input { position:absolute; inline-size:1px; block-size:1px; opacity:0; pointer-events:none; }.tag-picker .tag-choice span { padding:6px 9px; border:1px solid #d8ab97; border-radius:999px; background:#fffaf7; color:#76503f; font-size:12px; font-weight:600; transition:background .14s,border-color .14s,color .14s; }.tag-picker .tag-choice input:checked + span { border-color:#88614f; background:#f4ddd3; color:#704332; }.tag-picker .tag-choice input:disabled + span { cursor:not-allowed; opacity:.5; }.tag-picker .tag-choice input:focus-visible + span { outline:3px solid #f6dfd4; outline-offset:2px; }.tag-picker small { display:block; margin-top:8px; color:#957262; font-size:11px; }.tag-picker output { display:block; margin-top:3px; color:#88614f; font:700 11px "DM Mono",monospace; }
@media (max-width:960px) { .forum-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }.forum-filters .button,.forum-filter-reset { justify-self:start; } }
@media (max-width:520px) { .forum-filters { grid-template-columns:1fr; }.forum-filters .button { width:100%; }.forum-filter-reset { padding-left:0; } }

.markdown-preview > .post-body { color:#526058; font-size:15px; line-height:1.9; }
.markdown-preview > .post-body p { margin:24px 0; }
.markdown-preview > .post-body h1,.markdown-preview > .post-body h2,.markdown-preview > .post-body h3,.markdown-preview > .post-body h4,.markdown-preview > .post-body h5,.markdown-preview > .post-body h6 { margin:25px 0 10px; line-height:1.3; }
.markdown-preview > .post-body h1 { font-size:29px; }
.markdown-preview > .post-body h2 { font-size:23px; }
.markdown-preview > .post-body h3 { font-size:18px; }
.markdown-preview > .post-body h4 { font-size:16px; }
.markdown-preview > .post-body h5,.markdown-preview > .post-body h6 { font-size:14px; }
.markdown-preview > .post-body img { margin:16px 0; border-radius:8px; }
.markdown-preview > .post-body ul,.markdown-preview > .post-body ol { margin:18px 0; padding-left:26px; }
.markdown-preview > .post-body li { margin:5px 0; }
.markdown-preview > .post-body pre { margin:22px 0; padding:14px 16px; border-radius:8px; }
.markdown-preview > .post-body pre code { font:12px/1.7 "DM Mono",monospace; }
.markdown-preview > .post-body hr { margin:28px 0; }
.markdown-preview > .post-body table { margin:22px 0; font-size:13px; }
.markdown-preview > .post-body th,.markdown-preview > .post-body td { padding:8px 12px; }
.markdown-preview > .post-body .markdown-alert-body > :first-child { margin-top:0; }
.markdown-preview > .post-body .markdown-alert-body > :last-child { margin-bottom:0; }
.new-post-editor { grid-template-columns:minmax(0,1fr) minmax(0,1fr); width:min(1420px,calc(100% - 56px)); }
.new-post-editor .markdown-preview { padding:0; border:0; background:transparent; box-shadow:none; }
.new-post-editor .markdown-preview-post { width:100%; max-width:none; }
.new-post-editor .markdown-preview-post h1 { margin:11px 0 20px; }
.new-post-editor .markdown-preview-post .author-line { flex-wrap:wrap; }
@media (max-width:960px) { .new-post-editor { grid-template-columns:1fr; width:min(760px,calc(100% - 40px)); }.new-post-editor .markdown-preview { position:static; max-height:none; min-height:220px; } }

/* 顶部主导航：主页和论坛在桌面端使用图标置顶的紧凑按钮。 */
.site-header .site-navigation { display:flex; flex:0 0 auto; align-items:center; gap:9px; margin-left:0; }
.site-header .site-navigation a { color:#76503f; font-size:13px; font-weight:700; }
.site-header .site-navigation .nav-button { position:relative; display:grid; grid-template-rows:21px auto; place-items:center; gap:2px; min-width:48px; padding:6px 8px; border-radius:8px; font-size:10px; line-height:1.1; }
.site-header .site-navigation .nav-button svg { transition:transform .16s ease; }
@media (hover:hover) { .site-header .site-navigation .nav-button:hover svg { transform:translateY(-3px); } }
.site-header .site-navigation .nav-button.active { color:#694635; }
.site-header .site-navigation .nav-button.active::after { position:absolute; bottom:2px; left:50%; width:20px; height:2px; border-radius:999px; background:currentColor; content:""; transform:translateX(-50%); }
.site-header .site-navigation .nav-button svg,.site-nav-list svg,.sidebar-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.sidebar-toggle { display:none; width:40px; height:40px; flex:0 0 40px; place-items:center; padding:0; border:1px solid #d8ab97; border-radius:8px; background:#fffaf7; color:#76503f; cursor:pointer; }
.sidebar-toggle:hover,.sidebar-toggle[aria-expanded="true"] { background:#f1d4c6; color:#694635; }
.site-nav-drawer { display:none; }
.chat-toggle { display:flex; align-items:center; gap:6px; height:38px; padding:0 10px; border:1px solid #d8ab97; border-radius:8px; background:#fffaf7; color:#76503f; font:700 11px "Noto Sans SC",sans-serif; cursor:pointer; }
.chat-toggle > span:first-child { font-size:21px; line-height:1; }
.chat-toggle:hover,.chat-toggle[aria-expanded="true"] { border-color:#88614f; background:#f1d4c6; color:#694635; }
.chat-drawer { position:fixed; z-index:90; inset:0; visibility:hidden; pointer-events:none; }
.chat-drawer.is-open { visibility:visible; pointer-events:auto; }
.chat-backdrop { position:absolute; inset:0; border:0; background:rgba(48,28,20,.38); opacity:0; transition:opacity .18s ease; cursor:pointer; }
.chat-drawer.is-open .chat-backdrop { opacity:1; }
.chat-panel { position:absolute; top:0; bottom:0; left:0; display:grid; grid-template-rows:auto 1fr; width:min(760px,96vw); padding:20px; border-right:1px solid #d9b09d; background:#fff9f4; box-shadow:18px 0 42px rgba(72,42,31,.22); transform:translateX(-100%); transition:transform .2s ease; }
.chat-drawer.is-open .chat-panel { transform:translateX(0); }
.chat-panel-header { display:flex; align-items:center; justify-content:space-between; padding:2px 0 17px; border-bottom:1px solid #ecd3c7; color:#50382e; }
.chat-panel-header h2 { margin:3px 0 0; font:700 24px "Playfair Display","Noto Serif SC",serif; }
.chat-panel-header .section-label { margin:0; color:#9a6a57; font:700 9px "DM Mono",monospace; letter-spacing:1px; }
.chat-panel-header > button { display:grid; width:34px; height:34px; place-items:center; padding:0; border:0; border-radius:7px; background:transparent; color:#76503f; font-size:27px; cursor:pointer; }
.chat-panel-header > button:hover { background:#f1d4c6; color:#50382e; }
.chat-panel-content { display:grid; grid-template-columns:235px minmax(0,1fr); min-height:0; overflow:hidden; }
.chat-room-list { min-width:0; height:100%; overflow:auto; padding:16px 6px 8px 2px; border-right:1px solid #ecd3c7; }
.chat-system-room { margin-bottom:14px; padding-bottom:14px; border-bottom:1px solid #ecd3c7; }
.chat-system-room .chat-room-button { border-color:#ead5cb; background:#fbf3ee; }
.chat-room-group + .chat-room-group { margin-top:18px; }
.chat-room-group-label { margin:0 0 7px; color:#9a6a57; font:700 10px "DM Mono",monospace; letter-spacing:.8px; text-transform:uppercase; }
.chat-room-buttons { display:grid; gap:4px; }
.chat-room-button { display:flex; align-items:center; gap:10px; width:100%; padding:9px; border:1px solid transparent; border-radius:8px; background:transparent; color:#704838; text-align:left; cursor:pointer; }
.chat-room-button:hover { border-color:#e3c1b3; background:#f7e7df; }
.chat-room-button.is-active { border-color:#dcae9a; background:#f1d5c8; }
.chat-room-icon { display:grid; flex:0 0 30px; width:30px; height:30px; place-items:center; border-radius:8px; background:#f1d5c8; color:#88614f; font-size:16px; }
.chat-room-icon.chat-room-avatar { overflow:visible; border-radius:0; background:#f1d3c4; }
.chat-room-copy { display:grid; min-width:0; gap:1px; }
.chat-room-copy strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.chat-room-copy small { overflow:hidden; color:#a07868; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.chat-loading,.chat-empty,.chat-error { padding:20px 8px; margin:0; color:#9a7668; font-size:12px; text-align:center; }
.chat-error { color:#a34e40; }
.chat-conversation { display:grid; grid-template-rows:auto minmax(0,1fr) auto auto auto; min-width:0; min-height:0; padding:10px 0 0 16px; }
.chat-conversation-header { display:flex; align-items:center; gap:9px; padding-bottom:12px; border-bottom:1px solid #ecd3c7; }
.chat-conversation-header > button { display:grid; width:31px; height:31px; place-items:center; border:0; border-radius:7px; background:#f5dfd5; color:#76503f; font-size:18px; cursor:pointer; }
.chat-conversation-header > div { display:grid; gap:1px; min-width:0; }
.chat-conversation-header strong { overflow:hidden; color:#50382e; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.chat-conversation-header small { overflow:hidden; color:#a07868; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.chat-messages { min-height:0; overflow:auto; padding:14px 4px 14px 2px; }
.chat-room-list,.chat-messages,.chat-compose textarea { scrollbar-width:thin; scrollbar-color:transparent transparent; }
.chat-room-list:hover,.chat-messages:hover,.chat-compose textarea:hover,
.chat-room-list:focus-within,.chat-messages:focus-within,.chat-compose textarea:focus {
  scrollbar-color:#d4a790 transparent;
}
.chat-room-list::-webkit-scrollbar,.chat-messages::-webkit-scrollbar,.chat-compose textarea::-webkit-scrollbar { width:8px; height:8px; }
.chat-room-list::-webkit-scrollbar-button,.chat-messages::-webkit-scrollbar-button,.chat-compose textarea::-webkit-scrollbar-button { display:none; width:0; height:0; }
.chat-room-list::-webkit-scrollbar-track,.chat-messages::-webkit-scrollbar-track,.chat-compose textarea::-webkit-scrollbar-track { background:transparent; }
.chat-room-list::-webkit-scrollbar-thumb,.chat-messages::-webkit-scrollbar-thumb,.chat-compose textarea::-webkit-scrollbar-thumb {
  border:2px solid transparent; border-radius:999px; background:transparent; background-clip:padding-box;
}
.chat-room-list:hover::-webkit-scrollbar-thumb,.chat-messages:hover::-webkit-scrollbar-thumb,.chat-compose textarea:hover::-webkit-scrollbar-thumb,
.chat-room-list:focus-within::-webkit-scrollbar-thumb,.chat-messages:focus-within::-webkit-scrollbar-thumb,.chat-compose textarea:focus::-webkit-scrollbar-thumb {
  background:#d4a790; background-clip:padding-box;
}
.chat-room-list::-webkit-scrollbar-thumb:hover,.chat-messages::-webkit-scrollbar-thumb:hover,.chat-compose textarea::-webkit-scrollbar-thumb:hover {
  background:#c48970; background-clip:padding-box;
}
.chat-room-list::-webkit-scrollbar-corner,.chat-messages::-webkit-scrollbar-corner,.chat-compose textarea::-webkit-scrollbar-corner { background:transparent; }

.chat-message { display:flex; align-items:flex-start; gap:8px; max-width:94%; padding:3px 0; margin-bottom:10px; }
.chat-message.is-self { flex-direction:row-reverse; margin-left:auto; text-align:right; }
.chat-message-identity { display:grid; flex:0 0 34px; justify-items:center; gap:2px; color:#88614f; font-size:9px; }
.chat-message-avatar-link { display:block; height:34px; line-height:0; }
.chat-message-avatar { flex:0 0 34px; width:34px; height:34px; overflow:visible; border:0; border-radius:0; background:#f1d3c4; }
.chat-message-content { display:grid; min-width:0; gap:3px; }
.chat-message-sender { color:#88614f; font:700 10px "DM Mono",monospace; text-align:left; text-decoration:none; }
.chat-message-sender:hover { color:#694635; text-decoration:underline; }
.chat-message.is-self .chat-message-sender { text-align:right; }
.chat-message-bubble { max-width:100%; padding:8px 11px; margin:0; border:1px solid #ecd3c7; border-radius:4px 12px 12px 12px; background:#fffaf7; color:#64473b; font-size:12px; line-height:1.65; text-align:left; white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-message.is-self .chat-message-bubble { border-color:#dcae9a; border-radius:12px 4px 12px 12px; background:#f3d7ca; }
.chat-message time { color:#ae8b7d; font-size:9px; }
.chat-message.is-system { max-width:100%; margin-bottom:12px; justify-content:center; }
.chat-system-card { display:grid; gap:4px; width:100%; padding:11px 13px; border:1px solid #ecd3c7; border-radius:10px; background:#fffaf7; color:inherit; text-align:left; text-decoration:none; }
a.chat-system-card:hover { border-color:#d8ab97; background:#fdf0ea; }
.chat-system-card strong { color:#694635; font-size:12px; }
.chat-system-card p { margin:0; color:#76503f; font-size:12px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-message.is-system time { text-align:center; }
.chat-readonly { padding:10px 4px 0; margin:0; color:#a07868; font-size:11px; text-align:center; }
.chat-readonly[hidden] { display:none; }
.chat-compose { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; padding-top:10px; border-top:1px solid #ecd3c7; }
.chat-compose textarea { min-height:40px; resize:vertical; }
.chat-compose .button { align-self:end; }
.chat-conversation[hidden],.chat-room-list[hidden],.chat-messages[hidden],.chat-compose[hidden],.chat-conversation-placeholder[hidden] { display:none; }

@media (max-width:1200px) {
  .site-header { gap:15px; }
  .site-header .site-navigation { gap:5px; }
  .site-header .site-navigation .nav-button { grid-template-rows:1fr; min-width:38px; padding:7px; }
  .site-header .site-navigation .nav-button > span { display:none; }
}

@media (max-width:850px) {
  .site-header { gap:12px; }
  .top-announcement { top:74px; right:16px; width:144px; }
  .top-announcement-sign { width:144px; height:144px; }
  .top-announcement-sign span { top:36%; width:74%; font-size:10px; line-height:1.16; }
  .site-header .site-navigation { display:none; }
  .sidebar-toggle { display:grid; margin-left:0; }
  .site-nav-drawer { position:fixed; z-index:80; inset:0; display:block; visibility:hidden; pointer-events:none; }
  .site-nav-drawer.is-open { visibility:visible; pointer-events:auto; }
  .site-nav-backdrop { position:absolute; inset:0; border:0; background:rgba(48,28,20,.42); opacity:0; transition:opacity .18s ease; cursor:pointer; }
  .site-nav-drawer.is-open .site-nav-backdrop { opacity:1; }
  .site-nav-panel { position:absolute; top:0; right:0; display:grid; grid-template-rows:auto 1fr; width:min(330px,86vw); height:100%; padding:20px; border-left:1px solid #d9b09d; background:#fff9f4; box-shadow:-18px 0 42px rgba(72,42,31,.22); transform:translateX(100%); transition:transform .2s ease; }
  .site-nav-drawer.is-open .site-nav-panel { transform:translateX(0); }
  .site-nav-panel-header { display:flex; align-items:center; justify-content:space-between; padding:2px 0 17px; border-bottom:1px solid #ecd3c7; color:#50382e; font:700 21px "Playfair Display","Noto Serif SC",serif; }
  .site-nav-panel-header button { display:grid; width:34px; height:34px; place-items:center; padding:0; border:0; border-radius:7px; background:transparent; color:#76503f; font-size:27px; cursor:pointer; }
  .site-nav-panel-header button:hover { background:#f1d4c6; color:#50382e; }
  .site-nav-announcement { position:absolute; z-index:1; top:62px; left:50%; width:148px; transform:translate(-50%,-112px); transition:transform .28s cubic-bezier(.22,.72,.24,1); }
  .site-nav-announcement.is-open { transform:translate(-50%,0); }
  .site-nav-announcement-toggle { display:block; width:100%; padding:0; border:0; background:transparent; cursor:pointer; }
  .site-nav-announcement-toggle:focus-visible { outline:3px solid #e3a384; outline-offset:3px; border-radius:8px; }
  .site-nav-announcement-sign { position:relative; display:block; width:148px; height:148px; }
  .site-nav-announcement-sign img { display:block; width:100%; height:100%; image-rendering:pixelated; filter:drop-shadow(0 3px 2px rgba(53,32,22,.26)); }
  .site-nav-announcement-sign span { position:absolute; top:36%; left:50%; display:grid; width:74%; min-height:42px; place-items:center; overflow:hidden; color:#3f2c1d; font:700 10px/1.16 "Noto Sans SC",sans-serif; text-align:center; text-shadow:0 1px rgba(255,236,184,.48); transform:translateX(-50%); overflow-wrap:anywhere; word-break:break-word; }
  .site-nav-panel .site-nav-list { display:grid; justify-items:center; align-content:start; gap:5px; margin:20px 0 0; }
  .site-nav-list a { display:flex; align-items:center; gap:12px; width:min(190px,100%); padding:12px 11px; border-radius:8px; color:#76503f; font-size:15px; font-weight:700; }
  .site-nav-list a:hover,.site-nav-list a.active { background:#f1d4c6; color:#50382e; }
  .site-nav-list svg { flex:0 0 20px; }
  .has-nav-drawer { overflow:hidden; }
}

@media (max-width:530px) {
  .site-header { min-height:64px; padding:0 14px; }
  .brand { flex:0 1 170px; }
  .brand-logo { width:min(100%,190px); }
  .player-search { flex:1 1 92px; }
  .player-search input { min-width:0; }
  .player-identity { display:none; }
  .chat-toggle { padding:0 8px; }
  .chat-toggle > span:last-child { display:none; }
  .chat-panel-content { grid-template-columns:1fr; grid-template-rows:minmax(170px,.7fr) minmax(280px,1.3fr); }
  .chat-room-list { padding-right:2px; border-right:0; border-bottom:1px solid #ecd3c7; }
  .chat-conversation { padding-left:0; }
}

@media (orientation:portrait) and (max-width:700px) {
  .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto auto auto; grid-template-areas:"brand chat account menu" "search search search search"; row-gap:8px; column-gap:12px; padding-top:8px; padding-bottom:8px; }
  .top-announcement { top:126px; }
  .brand { grid-area:brand; width:100%; min-width:0; flex:none; }
  .player-search { grid-area:search; order:initial; width:100%; min-width:0; flex:none; }
  .chat-toggle { grid-area:chat; }
  .account-menu { grid-area:account; }
  .sidebar-toggle { grid-area:menu; }
  .screen-vignette { display:none; }
}

/* 友链图片卡片不继承普通文本友链的白色背景。 */
.friendly-links a.friendly-link { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:1px 10px; padding:18px; border:0; background-color:transparent; background-size:cover; background-position:center; background-repeat:no-repeat; text-align:left; }
.friendly-links a.link-minecraft { background-image:url('/assets/friend_link/minecraft.webp'); }
.friendly-links a.link-axolotland { background-image:url('/assets/friend_link/axolotland.jpeg'); }
.friendly-links a.link-zh_mc_wiki { background-image:url('/assets/friend_link/minceraft_wiki.webp'); }
.friendly-links a.friendly-link b { color:#fff; font:700 17px "Playfair Display","Noto Serif SC",serif; }
.friendly-links a.friendly-link small { color:#f8ded2; font-size:11px; }
.friendly-links a.friendly-link > span { display:grid; grid-row:auto; grid-column:auto; gap:2px; color:inherit; font-size:inherit; }
.friendly-links a.friendly-link > i { grid-row:auto; grid-column:auto; color:#fff2eb; }

/* 主页社区区不添加额外遮罩，直接显示页面背景。 */
.home-community { background:transparent; }

/* 顶部栏未登录时悬停头像弹出的登录/注册面板：比玩家面板窄，居中于头像与名字下方。 */
.account-panel.guest-panel { left:50%; right:auto; display:grid; gap:10px; width:180px; margin-left:-90px; }
.guest-panel-hint { margin:0; color:#849087; font-size:12px; line-height:1.6; }
.account-panel.guest-panel .button { width:100%; }

/* 顶部栏用户资料悬浮面板：头像悬停显示设置/退出登录入口与 3D 皮肤预览。 */
.account-menu { position:relative; }
.account-panel { position:absolute; top:calc(100% + 14px); z-index:40; width:320px; padding:16px; border:1px solid #d9b09d; border-radius:14px; background:#fff9f4; box-shadow:0 22px 55px rgba(74,45,34,.24); opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .16s ease,transform .16s ease,visibility .16s; }
.account-menu:hover .account-panel,.account-menu:focus-within .account-panel { opacity:1; visibility:visible; transform:translateY(0); }
.account-panel-head { display:flex; align-items:center; gap:14px; padding-bottom:13px; border-bottom:1px solid #ecd3c7; }
.skin-viewer-canvas { width:132px; height:176px; border-radius:8px; background:#f1d3c4; }
.account-panel-identity { display:grid; min-width:0; gap:3px; }
.account-panel-identity strong { overflow:hidden; color:var(--ink); font:700 14px "DM Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }
.account-panel-identity b { color:#88614f; font-size:11px; font-weight:700; }
.account-panel-links { display:grid; padding-top:9px; }
.account-panel-links a,.account-panel-links button { display:block; width:100%; padding:10px 12px; border:0; border-radius:8px; background:transparent; color:#7a5a4c; font:600 13px "Noto Sans SC",sans-serif; text-align:left; cursor:pointer; transition:background .14s,color .14s; }
.account-panel-links a:hover,.account-panel-links button:hover { background:#f5ded3; color:#694635; }
.account-panel-links form { margin:0; }
.account-notifications { padding-top:10px; margin-top:10px; border-top:1px solid #ecd3c7; }
.account-notification-toggle { display:flex; align-items:center; justify-content:space-between; width:100%; padding:9px 12px; border:0; border-radius:8px; background:transparent; color:#7a5a4c; font:600 13px "Noto Sans SC",sans-serif; text-align:left; cursor:pointer; }
.account-notification-toggle:hover,.account-notification-toggle[aria-expanded="true"] { background:#f5ded3; color:#694635; }
.notification-badge { display:grid; min-width:19px; height:19px; place-items:center; padding:0 5px; border-radius:999px; background:#b05a3e; color:#fff9f4; font:700 10px "DM Mono",monospace; }
.notification-list { display:grid; gap:6px; max-height:230px; padding:6px 4px 0; overflow:auto; }
.notification-list[hidden] { display:none; }
.notification-item { display:grid; gap:3px; padding:9px 10px; border:1px solid #ecd3c7; border-radius:8px; background:#fffaf7; color:#76503f; }
.notification-item:hover { border-color:#d8ab97; background:#fdf0ea; }
.notification-item strong { color:#694635; font-size:12px; }
.notification-item span { color:#967263; font-size:11px; line-height:1.45; }
.notification-item time { color:#b18c7d; font-size:9px; }
.notification-empty { padding:12px 8px; margin:0; color:#a17d6c; font-size:11px; text-align:center; }
.notification-clear { justify-self:end; padding:4px 7px; border:0; background:transparent; color:#9a6a57; font:600 10px "Noto Sans SC",sans-serif; cursor:pointer; }
.notification-clear:hover { color:#694635; text-decoration:underline; }
.notification-toast-stack { position:fixed; top:88px; right:22px; z-index:120; display:grid; gap:9px; width:min(340px,calc(100vw - 30px)); pointer-events:none; }
.notification-toast { display:grid; gap:3px; padding:13px 15px; border:1px solid #d9b09d; border-radius:10px; background:rgba(255,249,244,.97); box-shadow:0 14px 30px rgba(74,45,34,.2); color:#76503f; pointer-events:auto; animation:notification-toast-in .2s ease-out; }
.notification-toast strong { color:#694635; font-size:12px; }
.notification-toast span { font-size:11px; line-height:1.45; }
@keyframes notification-toast-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
/* 管理员专属调试区：悬浮面板底部的分隔区块，后续调试功能都放在这里。 */
.account-panel-debug { display:grid; gap:6px; padding-top:10px; margin-top:10px; border-top:1px solid #ecd3c7; }
.account-panel-debug p { margin:0; color:#b0826d; font:700 10px "DM Mono",monospace; }
.account-panel-debug a { display:flex; align-items:center; min-height:34px; padding:0 10px; border:1px solid #d8ab97; border-radius:7px; background:#fffaf7; color:#88614f; font:700 11px "Noto Sans SC",sans-serif; text-decoration:none; transition:background .14s,border-color .14s,color .14s; }
.account-panel-debug a:hover { border-color:#88614f; background:#f4d8cc; color:#694635; }
.account-panel-links button { color:#b05a3e; }
.account-panel-links button:hover { background:#fbebe2; color:#8f3f28; }
@media (max-width:530px) { .account-panel { right:-14px; } }

/* 设置页：背景时间 / 好友申请 / 改绑邮箱。 */
.settings-shell { width:min(100%, 880px); margin:0 auto; }
.settings-shell .back-link { display:inline-block; margin-bottom:24px; }
.settings-shell .eyebrow { margin-bottom:4px; }
.settings-shell h1 { margin:0 0 26px; color:var(--ink); font:700 39px "Playfair Display","Noto Serif SC",serif; letter-spacing:-1.5px; }
.settings-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:28px; align-items:start; }
.settings-sidebar { position:sticky; top:96px; display:grid; gap:5px; padding:9px; border:1px solid var(--line); border-radius:13px; background:var(--white); box-shadow:0 10px 25px rgba(88,50,38,.07); }
.settings-tab { display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:9px; color:#7b6a60; font-size:14px; font-weight:600; text-decoration:none; }
.settings-tab::before { content:""; flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#d9c4b8; }
.settings-tab:hover { background:#f7ece6; color:#6b4635; }
.settings-tab.is-active { background:#f1e1d8; color:#6b4635; font-weight:700; }
.settings-tab.is-active::before { background:#a8715a; }
.settings-panel[hidden] { display:none; }
.settings-card { margin-top:0; }.settings-card textarea { width:100%; resize:vertical; padding:10px 11px; border:1px solid #d9e1da; border-radius:8px; outline:0; background:#fbfcfa; color:var(--ink); font:14px/1.7 "Noto Sans SC",sans-serif; }
.settings-card h2 { margin:0 0 6px; font:700 22px "Playfair Display","Noto Serif SC",serif; }
.settings-hint { margin:0 0 18px; color:var(--muted); font-size:13px; }
.settings-hint strong { color:var(--ink); font:700 14px "DM Mono",monospace; }
.form-stack .choice-row { display:flex; align-items:center; gap:10px; font-weight:600; cursor:pointer; }
.choice-row input[type="radio"],.choice-row input[type="checkbox"] { flex:0 0 auto; display:inline-grid; width:18px; height:18px; margin:0; padding:0; place-items:center; border:2px solid #c7d4c8; background:#fff; appearance:none; -webkit-appearance:none; cursor:pointer; transition:border-color .12s ease,background .12s ease; }
.choice-row input[type="radio"] { border-radius:50%; }
.choice-row input[type="radio"]::before { content:""; width:8px; height:8px; border-radius:50%; background:#71964d; transform:scale(0); transition:transform .12s ease; }
.choice-row input[type="radio"]:checked { border-color:#71964d; }
.choice-row input[type="radio"]:checked::before { transform:scale(1); }
.choice-row input[type="checkbox"] { border-radius:5px; }
.choice-row input[type="checkbox"]::before { content:""; width:9px; height:5px; border:2px solid #fff; border-top:0; border-right:0; transform:rotate(-45deg) scale(0); transition:transform .12s ease; }
.choice-row input[type="checkbox"]:checked { border-color:#71964d; background:#71964d; }
.choice-row input[type="checkbox"]:checked::before { transform:rotate(-45deg) scale(1); }
.choice-row input[type="radio"]:focus-visible,.choice-row input[type="checkbox"]:focus-visible { outline:2px solid #71964d; outline-offset:2px; }
.choice-row .time-input { width:auto; margin-left:2px; padding:6px 9px; font:13px "DM Mono",monospace; }
.seed-field { display:grid; gap:8px; padding-top:6px; border-top:1px solid var(--line); }
.seed-field > label { display:block; color:#3d4a42; font-size:13px; font-weight:700; }
.seed-row { display:flex; align-items:center; gap:10px; }
.seed-row input { flex:1 1 auto; min-width:0; }
.seed-row .button { flex:0 0 auto; }
.community-message.is-error { border-color:#f1c2b0; background:#fbe3d8; color:#8f4630; }
.settings-toast { position:fixed; right:22px; bottom:22px; z-index:1000; display:flex; align-items:center; gap:9px; padding:12px 18px; border-radius:11px; color:#fff; font-size:14px; font-weight:600; box-shadow:0 14px 34px rgba(20,40,30,.28); pointer-events:none; animation:settings-toast 2.8s ease forwards; }
.settings-toast.is-success { background:#2e6b3b; }
.settings-toast-icon { display:grid; width:18px; height:18px; place-items:center; border-radius:50%; background:rgba(255,255,255,.22); font-size:11px; font-weight:800; line-height:1; }
@keyframes settings-toast { 0% { opacity:0; transform:translateY(14px); } 10% { opacity:1; transform:translateY(0); } 82% { opacity:1; transform:translateY(0); } 100% { opacity:0; transform:translateY(14px); } }

/* 举报与审核 */
.report-form { display:grid; gap:9px; padding-top:18px; margin-top:20px; border-top:1px solid #ecd3c7; }
.report-form > div { display:grid; gap:7px; }
.report-form select,.report-form textarea,.admin-report-row input { width:100%; padding:8px 9px; border:1px solid #d8ab97; border-radius:7px; outline:0; background:#fffaf7; color:var(--ink); font:12px "Noto Sans SC",sans-serif; }
.report-form textarea { resize:vertical; }
.report-form .button { justify-self:end; }
.report-notice { padding:8px 10px; margin:17px 0 0; border-radius:7px; background:#f4e2d8; color:#704837; font-size:12px; }
.admin-moderation { padding:20px; margin-bottom:22px; border:1px solid var(--line); border-radius:11px; background:white; }
.admin-section-heading { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:10px; }
.admin-section-heading h2 { margin:0; font-size:18px; }
.admin-report-list,.admin-audit-list { display:grid; gap:8px; }
.admin-report-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(230px, .8fr) auto; gap:13px; align-items:center; padding:12px 0; border-top:1px solid #ecf0eb; color:#718077; font-size:11px; }
.admin-report-row:first-child,.admin-audit-row:first-child { border-top:0; }
.admin-report-row strong { display:block; color:#4f392f; font-size:12px; }
.admin-report-row span,.admin-report-row p { display:block; margin:3px 0 0; }
.admin-report-row p { color:#927366; }
.admin-report-row form { display:grid; gap:6px; }
.admin-report-row form > div { display:flex; flex-wrap:wrap; gap:5px; }
.admin-report-row button { padding:5px 8px; border:1px solid #d8ab97; border-radius:5px; background:#fff5f0; color:#76503f; font:11px "Noto Sans SC",sans-serif; cursor:pointer; }
.admin-report-row button:hover { background:#f4d8cc; }
.admin-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:24px; align-items:start; }
.admin-sidebar { position:sticky; top:96px; padding:17px 12px; border:1px solid var(--line); border-radius:11px; background:#fffaf7; }
.admin-sidebar-label { margin:0 8px 10px; color:#9a6a57; font:700 10px "DM Mono",monospace; letter-spacing:1px; }
.admin-sidebar-nav { display:grid; gap:3px; margin:0; }
.admin-sidebar-nav a { padding:10px 11px; border-radius:7px; color:#76503f; font-size:12px; font-weight:700; }
.admin-sidebar-nav a.active,.admin-sidebar-nav a:hover,.admin-sidebar-nav a:focus-visible { background:#f1d4c6; color:#50382e; outline:0; }
.admin-main { min-width:0; }
.admin-sky-debug-controls { display:flex; align-items:end; flex-wrap:wrap; gap:10px; }
.admin-sky-debug-controls label { display:grid; gap:5px; color:#718077; font-size:12px; font-weight:700; }
.admin-sky-debug-controls input { min-height:34px; padding:6px 9px; border:1px solid #d8ab97; border-radius:7px; background:#fffaf7; color:var(--ink); font:12px "DM Mono",monospace; }
.admin-sky-debug-controls output { min-width:68px; padding:9px 10px; border-radius:7px; background:#f8e7df; color:#76503f; font:11px "DM Mono",monospace; text-align:center; }
.admin-table-heading { padding:17px 20px 0; }
.admin-table-heading h2 { margin:0; font-size:18px; }
@media (max-width:760px) { .admin-layout { grid-template-columns:1fr; }.admin-sidebar { position:static; }.admin-sidebar-nav { display:flex; overflow-x:auto; gap:4px; }.admin-sidebar-nav a { flex:0 0 auto; white-space:nowrap; } }
.admin-report-status { padding:3px 6px; border-radius:4px; background:#f4e3da; color:#8b5d4b; white-space:nowrap; }
.admin-empty { padding:12px 0; margin:0; color:#a17f70; font-size:12px; text-align:center; }
.admin-audit-row { display:grid; grid-template-columns:110px 130px minmax(130px,1fr) minmax(100px,1fr) 80px; gap:10px; padding:9px 0; border-top:1px solid #ecf0eb; color:#718077; font-size:11px; }
.admin-audit-row strong { color:#4f392f; }
.admin-audit-row time { color:#a17f70; text-align:right; }
.admin-player-search-form { display:flex; gap:8px; margin:12px 0 0; }
.admin-player-search-form input { flex:1; min-width:0; padding:9px 10px; border:1px solid #d8ab97; border-radius:7px; outline:0; background:#fffaf7; color:var(--ink); font:12px "DM Mono",monospace; }
.admin-player-list { display:grid; gap:5px; margin-top:11px; }
.admin-player-row { display:flex; align-items:center; gap:9px; padding:7px 9px; border-radius:7px; color:#76503f; }
.admin-player-row:hover { background:#f8e7df; }
.admin-player-row .rank-avatar { flex:0 0 30px; width:30px; height:30px; }
.admin-player-row strong { overflow:hidden; color:#4f392f; font:700 12px "DM Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }
.admin-player-row > span:last-child { margin-left:auto; color:#a17f70; font-size:10px; }
@media (max-width:760px) { .admin-report-row { grid-template-columns:1fr; gap:8px; }.admin-report-status { justify-self:start; }.admin-audit-row { grid-template-columns:1fr 1fr; }.admin-audit-row time { text-align:left; } }
@media (max-width:640px) { .settings-layout { grid-template-columns:1fr; gap:18px; }.settings-sidebar { position:static; display:flex; overflow-x:auto; }.settings-tab { white-space:nowrap; }.settings-toast { right:14px; bottom:14px; left:14px; justify-content:center; } }
.admin-email-form { display:flex; align-items:flex-end; gap:10px; }.admin-email-form label { color:#718077; font-size:12px; }.admin-email-form input { display:block; width:260px; margin-top:5px; padding:10px 11px; border:1px solid #d9e1da; border-radius:8px; background:#fbfcfa; color:var(--ink); font:14px "Noto Sans SC",sans-serif; }.admin-email-form input:focus { border-color:#78a052; outline:0; box-shadow:0 0 0 3px #e6f1d9; }.admin-email-notice.error { color:#a75234 !important; }
.admin-notification-tools { align-items:stretch; flex-direction:column; }
.admin-notification-form { display:grid; gap:10px; width:min(520px,100%); }
.admin-notification-form label { color:#718077; font-size:12px; }
.admin-notification-form input,.admin-notification-form textarea { display:block; width:100%; margin-top:5px; padding:10px 11px; border:1px solid #d9e1da; border-radius:8px; background:#fbfcfa; color:var(--ink); font:14px "Noto Sans SC",sans-serif; box-sizing:border-box; }
.admin-notification-form textarea { min-height:84px; resize:vertical; }
.admin-notification-form input:focus,.admin-notification-form textarea:focus { border-color:#78a052; outline:0; box-shadow:0 0 0 3px #e6f1d9; }
.admin-notification-form .button { justify-self:start; }
@media (max-width:650px) { .admin-email-form { width:100%; align-items:stretch; flex-direction:column; }.admin-email-form input { width:100%; box-sizing:border-box; } }
.post-reading { position:relative; }
.post-heading { min-height:26px; }
.post-header-actions { position:absolute; z-index:3; top:24px; right:24px; display:flex; align-items:flex-start; justify-content:flex-end; gap:7px; }
.post-reading > h1 { padding-right:190px; }
.post-tool { position:relative; }
.post-tool > summary { list-style:none; white-space:nowrap; }
.post-tool > summary::-webkit-details-marker { display:none; }
.post-tool[open] > summary { background:#694635; }
.post-header-actions .report-notice { align-self:center; width:max-content; max-width:min(360px,calc(100vw - 48px)); margin:0; }
.post-tool > .append-form,.post-tool > .report-form { position:absolute; top:calc(100% + 8px); right:0; z-index:4; width:min(390px,calc(100vw - 48px)); padding:16px; margin:0; border:1px solid #ecd3c7; border-radius:10px; background:#fffaf7; box-shadow:0 14px 30px rgba(61,42,34,.2); }
.post-tool > .append-form { gap:9px; }
.post-tool > .report-form { gap:9px; }
@media (max-width:530px) { .post-heading { min-height:38px; }.post-header-actions { top:18px; right:18px; gap:5px; }.post-header-actions .report-notice { width:auto; max-width:none; }.post-reading > h1 { padding-right:0; }.post-tool > .append-form,.post-tool > .report-form { position:fixed; top:50%; right:24px; left:24px; width:auto; transform:translateY(-50%); } }

/* 玩家资料：3D 模型、资料信息与社区动态。 */
.profile-page { width:min(1180px,calc(100% - 56px)); }.profile-overview { display:grid; grid-template-columns:minmax(285px,390px) minmax(0,1fr); gap:20px; align-items:stretch; }.profile-model-card,.profile-details-card,.profile-activity-card { border:1px solid rgba(216,171,151,.95); border-radius:15px; background:rgba(255,247,243,.95); box-shadow:0 12px 28px rgba(61,42,34,.16); backdrop-filter:blur(6px); }.profile-model-card { position:relative; display:grid; min-height:440px; place-items:center; padding:25px; overflow:hidden; background:radial-gradient(circle at 50% 37%,rgba(227,163,132,.48),transparent 38%),linear-gradient(155deg,#745040,#422c26); }.profile-model-card::before { position:absolute; inset:auto 0 0; height:27%; background:linear-gradient(transparent,rgba(28,16,11,.32)); content:""; pointer-events:none; }.profile-model-card .section-label,.profile-model-name,.profile-model-hint { position:relative; z-index:1; }.profile-model-card .section-label { align-self:start; justify-self:start; margin:0; color:#f5d7c8; }.profile-model-name { align-self:start; margin-top:22px; color:#fff8f4; font:700 22px "DM Mono",monospace; letter-spacing:-.5px; text-align:center; text-shadow:0 2px 6px rgba(30,17,13,.48); }.profile-skin-viewer { z-index:1; align-self:center; width:min(100%,300px); height:330px; margin-top:-10px; background:transparent; }.profile-model-hint { align-self:end; margin:0; color:#f9ddd0; font-size:11px; letter-spacing:.5px; }.profile-pose-actions { position:absolute; z-index:2; right:17px; bottom:16px; display:flex; max-width:calc(100% - 34px); flex-wrap:wrap; justify-content:flex-end; gap:4px; margin:0; }.profile-pose-action { border:1px solid rgba(255,235,225,.45); border-radius:5px; padding:5px 7px; background:rgba(43,26,20,.48); color:#f9ddd0; font:700 10px "Noto Sans SC",sans-serif; cursor:pointer; }.profile-pose-action:hover,.profile-pose-action.is-active { border-color:#fff0e8; background:#e6a888; color:#432b21; }.profile-details-card { display:flex; min-width:0; flex-direction:column; padding:34px; }.profile-details-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; padding-bottom:24px; border-bottom:1px solid #ecd3c7; }.profile-details-heading .section-label { margin-bottom:7px; }.profile-details-heading h1 { overflow-wrap:anywhere; margin:0; color:var(--ink); font:700 clamp(32px,4vw,48px)/1 "Playfair Display","Noto Serif SC",serif; letter-spacing:-1.8px; }.profile-title { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:12px 0 0; color:#8d6a5b; font-size:12px; }.profile-title span { color:#a67a69; }.profile-title b { padding:4px 8px; border-radius:5px; background:#f4d8cc; color:#704837; font:700 12px "Noto Sans SC",sans-serif; }.profile-details-card .profile-hero-actions { justify-content:flex-end; }.profile-game-info { padding:23px 0; }.profile-data-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }.profile-data-list div { min-width:0; padding:13px; border:1px solid #ecd3c7; border-radius:9px; background:#fffaf7; }.profile-data-list dt { margin-bottom:7px; color:#a17b6b; font-size:10px; font-weight:700; }.profile-data-list dd { overflow:hidden; margin:0; color:#704837; font:700 15px "DM Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }.profile-signature { padding:20px; margin-top:auto; border:1px solid #ecd3c7; border-radius:10px; background:#fffaf7; }.profile-signature .section-label { margin-bottom:8px; }.profile-signature p:last-child { margin:0; color:#806357; font-size:14px; line-height:1.7; }.profile-activity-card { margin-top:20px; padding:8px 28px 26px; }.profile-tabs { display:flex; gap:5px; padding:10px 0; border-bottom:1px solid #ecd3c7; }.profile-tabs a,.profile-tabs button { border:0; border-radius:6px; padding:8px 11px; background:transparent; color:#966f5f; font:700 12px "Noto Sans SC",sans-serif; text-decoration:none; cursor:pointer; }.profile-tabs a:hover,.profile-tabs a.is-active,.profile-tabs button:hover,.profile-tabs button.is-active { background:#f1d4c6; color:#76503f; }.profile-activity-panel { padding-top:4px; }.profile-activity-panel[hidden] { display:none; }.profile-post-list .post-card { padding:19px 4px; }.profile-post-list .post-card:first-child { border-top:0; }.profile-post-list .forum-empty { padding:48px 20px; }.profile-comment-list { display:grid; gap:10px; padding-top:17px; }.profile-comment { padding:17px 18px; border:1px solid #ecd3c7; border-radius:10px; background:#fffaf7; }.profile-comment-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:11px; }.profile-comment-head a { overflow:hidden; color:#76503f; font:700 13px "Noto Sans SC",sans-serif; text-overflow:ellipsis; white-space:nowrap; }.profile-comment-head a:hover { color:#a1553b; text-decoration:underline; }.profile-comment-head time { flex:0 0 auto; color:#a17b6b; font-size:10px; }.profile-comment-body { color:#725448; font-size:13px; line-height:1.75; overflow-wrap:anywhere; }.profile-comment-body > :first-child { margin-top:0; }.profile-comment-body > :last-child { margin-bottom:0; }.profile-activity-empty { padding:52px 20px; color:#987263; text-align:center; }.profile-activity-empty span { color:#bb8167; font-size:25px; }.profile-activity-empty h3 { margin:7px 0 4px; color:#704837; font:700 19px "Playfair Display","Noto Serif SC",serif; }.profile-activity-empty p { margin:0; font-size:12px; }
@media (max-width:800px) { .profile-page { width:min(100% - 36px,720px); }.profile-overview { grid-template-columns:1fr; }.profile-model-card { min-height:390px; }.profile-skin-viewer { height:295px; }.profile-details-card { padding:27px; }.profile-activity-card { padding-right:22px; padding-left:22px; }.profile-data-list { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:530px) { .profile-page { width:min(100% - 28px,720px); }.profile-model-card { min-height:360px; padding:21px; }.profile-model-name { margin-top:16px; font-size:19px; }.profile-skin-viewer { height:270px; }.profile-details-card { padding:24px 21px; }.profile-details-heading { align-items:start; flex-direction:column; gap:17px; }.profile-details-card .profile-hero-actions { width:100%; justify-content:flex-start; }.profile-data-list { grid-template-columns:1fr; }.profile-data-list div { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:11px 13px; }.profile-data-list dt { margin:0; }.profile-activity-card { padding:8px 17px 20px; }.profile-tabs { overflow-x:auto; }.profile-tabs a,.profile-tabs button { flex:0 0 auto; white-space:nowrap; }.profile-post-list .post-card { padding-right:0; padding-left:0; }.profile-comment { padding:14px; }.profile-comment-head { align-items:start; flex-direction:column; gap:4px; } }
.wiki-history-list { display:grid; gap:14px; overflow:visible; border:0; background:transparent; }
.wiki-revision { border:1px solid #e4c9bd; border-radius:13px; background:#fffaf7; box-shadow:0 8px 20px rgba(84,49,36,.08); }
.wiki-revision:last-child { border-bottom:1px solid #e4c9bd; }

.profile-pose-trigger { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(255,235,225,.55); border-radius:9px; background:rgba(43,26,20,.58); color:#f9ddd0; cursor:pointer; transition:background .16s,transform .16s,border-color .16s; }
.profile-pose-trigger:hover,.profile-pose-trigger:focus-visible { border-color:#fff0e8; background:#e6a888; color:#432b21; transform:translateY(-1px); outline:0; }
.profile-pose-trigger svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }
.profile-pose-dialog { width:min(390px,calc(100% - 34px)); padding:0; border:1px solid #ecd3c7; border-radius:15px; background:#fffaf7; color:var(--ink); box-shadow:0 24px 70px rgba(35,19,13,.35); }
.profile-pose-dialog::backdrop { background:rgba(27,15,11,.62); backdrop-filter:blur(2px); }
.profile-pose-dialog-head { display:flex; align-items:start; justify-content:space-between; gap:15px; padding:22px 22px 0; }
.profile-pose-dialog-head .section-label { margin:0 0 5px; color:#a17b6b; }
.profile-pose-dialog h2 { margin:0; color:#54392f; font:700 25px/1.2 "Playfair Display","Noto Serif SC",serif; }
.profile-pose-dialog-close { width:30px; height:30px; border:0; border-radius:6px; background:transparent; color:#9a7161; font-size:25px; line-height:1; cursor:pointer; }
.profile-pose-dialog-close:hover,.profile-pose-dialog-close:focus-visible { background:#f1d4c6; color:#704837; outline:0; }
.profile-pose-dialog-hint { padding:0 22px; margin:12px 0 0; color:#987263; font-size:12px; }
.profile-pose-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:19px 22px 22px; }
.profile-pose-choice { display:flex; align-items:center; gap:9px; min-height:48px; padding:9px 11px; border:1px solid #ead0c3; border-radius:9px; background:#fff; color:#76503f; font:700 12px "Noto Sans SC",sans-serif; cursor:pointer; text-align:left; transition:border-color .16s,background .16s,transform .16s; }
.profile-pose-choice span:first-child { display:grid; width:25px; height:25px; place-items:center; border-radius:7px; background:#f4d8cc; color:#a1553b; font-size:15px; }
.profile-pose-choice:hover,.profile-pose-choice:focus-visible,.profile-pose-choice.is-active { border-color:#c98c72; background:#fff0e8; color:#704332; outline:0; }
.profile-pose-choice:hover { transform:translateY(-1px); }
.profile-pose-choice.is-active { box-shadow:inset 0 0 0 1px #e3a384; }
@media (max-width:530px) { .profile-pose-dialog { width:calc(100% - 28px); }.profile-pose-form { grid-template-columns:1fr; } }

.profile-signature > p:not(.section-label) { margin:0; color:#806357; font-size:14px; line-height:1.7; }
.profile-signature-markdown { color:#806357; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.profile-signature-markdown > :first-child { margin-top:0; }
.profile-signature-markdown > :last-child { margin-bottom:0; }
.profile-signature-markdown h1,.profile-signature-markdown h2,.profile-signature-markdown h3 { color:#704837; }
.profile-signature-markdown pre { overflow:auto; padding:10px 12px; border-radius:7px; background:#3a2a22; color:#f4ddd3; }
.profile-signature-edit { display:inline-block; margin-top:12px; color:#a1553b; font-size:11px; font-weight:700; }
.profile-medals { padding:20px 0 3px; }
.profile-medals-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.profile-medals .profile-medals-head .section-label { margin:0; }
.profile-medals-edit { border:0; padding:4px 0; background:transparent; color:#a1553b; font:700 11px "Noto Sans SC",sans-serif; cursor:pointer; }
.profile-medals-edit:hover,.profile-medals-edit:focus-visible { color:#704332; text-decoration:underline; outline:0; }
.profile-medals .section-label { margin:0 0 10px; }
.profile-medals-scroller { width:100%; }
.profile-medals-list { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.profile-medals-list[data-profile-medals-measuring="true"],.profile-medals-list[data-profile-medals-loop="true"] { width:max-content; flex-wrap:nowrap; }
.profile-medals-scroller.is-looping { overflow:hidden; }
.profile-medals-list[data-profile-medals-loop="true"] { animation:profile-medals-list-scroll 22s linear infinite; will-change:transform; }
.profile-medals-scroller:hover .profile-medals-list,.profile-medals-scroller:focus-within .profile-medals-list { animation-play-state:paused; }
@keyframes profile-medals-list-scroll { to { transform:translateX(-50%); } }
.profile-medals li { position:relative; display:grid; width:72px; min-height:78px; grid-template-rows:56px auto; place-items:center; gap:2px; padding:3px; border:0; border-radius:8px; background:transparent; box-shadow:none; }
.profile-medals img { display:block; width:52px; height:52px; object-fit:contain; }
.profile-medal-name { max-width:100%; overflow:hidden; color:#806357; font-size:10px; line-height:1.25; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.profile-medals li:focus-visible { outline:1px solid #d8ab97; outline-offset:2px; }
.profile-medal-tooltip { position:fixed; z-index:1000; max-width:min(260px,calc(100vw - 24px)); padding:7px 9px; border:1px solid #d8ab97; border-radius:7px; background:#4f392f; color:#fffaf7; font-size:11px; line-height:1.5; pointer-events:none; box-shadow:0 7px 18px rgba(61,42,34,.24); }
.profile-medals-empty { margin:0; color:#987263; font-size:12px; }
.profile-message-list { display:grid; gap:10px; padding-top:17px; }
.profile-message { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:15px 17px; border:1px solid #ecd3c7; border-radius:10px; background:#fffaf7; }
.profile-message-author { display:flex; align-items:center; gap:9px; min-width:0; color:#76503f; }
.profile-message-author strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:700 12px "DM Mono",monospace; }
.profile-message-avatar { flex:0 0 29px; width:29px; height:29px; }
.profile-message time { color:#a17b6b; font-size:10px; }
.profile-message p { grid-column:1 / -1; margin:0; color:#725448; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.profile-message-form { display:grid; gap:9px; padding-top:17px; margin-top:17px; border-top:1px solid #ecd3c7; }
.profile-message-form textarea { width:100%; resize:vertical; padding:9px; border:1px solid #d8ab97; border-radius:7px; background:#fffaf7; color:var(--ink); font:12px "Noto Sans SC",sans-serif; }
.profile-message-form .button { justify-self:end; }
.profile-message-login { padding:16px 0 0; margin:0; color:#957262; font-size:12px; }
.profile-message-login a { color:#a1553b; font-weight:700; }

.tcoin-value { display:inline-flex; align-items:center; gap:5px; }
.tcoin-value img { width:16px; height:16px; object-fit:contain; }
.profile-model-card[data-profile-background="default"] { background:radial-gradient(circle at 50% 37%,rgba(230,233,236,.38),transparent 38%),linear-gradient(155deg,#666b71,#2c3035); }
.profile-model-card { align-self:start; }
.profile-model-card[data-profile-background="default"]::before { background:linear-gradient(transparent,rgba(12,14,16,.43)); }
.profile-model-card[data-profile-background="forest"] { background-image:linear-gradient(180deg,rgba(55,33,28,.17),rgba(35,18,14,.55)),url("/assets/profile/bg/1.jpg"); background-position:center; background-size:cover; }
.profile-model-card[data-profile-background="sunset"] { background-image:linear-gradient(180deg,rgba(55,33,28,.13),rgba(35,18,14,.52)),url("/assets/profile/bg/2.jpg"); background-position:center; background-size:cover; }
.profile-model-card[data-profile-background="night"] { background-image:linear-gradient(180deg,rgba(55,33,28,.18),rgba(35,18,14,.58)),url("/assets/profile/bg/3.jpg"); background-position:center; background-size:cover; }
.profile-overview { align-items:start; }
.profile-model-column { display:grid; gap:20px; min-width:0; align-content:start; }
.profile-model-column .profile-game-info { padding:20px; border:1px solid rgba(216,171,151,.95); border-radius:15px; background:rgba(255,247,243,.95); box-shadow:0 12px 28px rgba(61,42,34,.12); }
.profile-model-column .profile-data-list { grid-template-columns:1fr; gap:8px; }
.profile-model-column .profile-data-list div { display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding:11px 13px; }
.profile-model-column .profile-data-list dt { margin:0; }
.profile-details-card { align-self:start; }
.profile-wardrobe-actions { position:absolute; z-index:2; right:17px; bottom:16px; margin:0; }
.profile-wardrobe-trigger { display:grid; width:40px; height:40px; place-items:center; border:1px solid rgba(255,235,225,.55); border-radius:9px; background:rgba(43,26,20,.58); color:#f9ddd0; cursor:pointer; transition:background .16s,transform .16s,border-color .16s; }
.profile-wardrobe-trigger:hover,.profile-wardrobe-trigger:focus-visible { border-color:#fff0e8; background:#e6a888; color:#432b21; transform:translateY(-1px); outline:0; }
.profile-wardrobe-trigger svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.6; }
.profile-wardrobe-dialog { width:min(430px,calc(100% - 34px)); max-height:calc(100dvh - 34px); padding:0; border:1px solid #ecd3c7; border-radius:15px; background:#fffaf7; color:var(--ink); box-shadow:0 24px 70px rgba(35,19,13,.35); overflow:auto; }
.profile-wardrobe-dialog::backdrop { background:rgba(27,15,11,.62); backdrop-filter:blur(2px); }
.profile-wardrobe-dialog-head { display:flex; align-items:start; justify-content:space-between; gap:15px; padding:22px 22px 0; }
.profile-wardrobe-dialog-head .section-label { margin:0 0 5px; color:#a17b6b; }
.profile-wardrobe-dialog h2 { margin:0; color:#54392f; font:700 25px/1.2 "Playfair Display","Noto Serif SC",serif; }
.profile-wardrobe-dialog h3 { margin:0; color:#76503f; font:700 13px "Noto Sans SC",sans-serif; }
.profile-wardrobe-dialog-close { width:30px; height:30px; border:0; border-radius:6px; background:transparent; color:#9a7161; font-size:25px; line-height:1; cursor:pointer; }
.profile-wardrobe-dialog-close:hover,.profile-wardrobe-dialog-close:focus-visible { background:#f1d4c6; color:#704837; outline:0; }
.profile-wardrobe-dialog-hint { padding:0 22px; margin:12px 0 0; color:#987263; font-size:12px; }
.profile-wardrobe-section { padding:18px 22px 0; }
.profile-wardrobe-section + .profile-wardrobe-section { padding-top:17px; margin-top:18px; border-top:1px solid #ecd3c7; }
.profile-wardrobe-section:last-child { padding-bottom:22px; }
.profile-light-choices { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; padding-top:11px; }
.profile-light-choice { display:grid; gap:3px; place-items:center; min-height:58px; padding:7px 4px; border:1px solid #ead0c3; border-radius:8px; background:#fff; color:#76503f; font:700 11px "Noto Sans SC",sans-serif; cursor:pointer; transition:border-color .16s,background .16s,transform .16s; }
.profile-light-choice span:first-child { color:#a1553b; font-size:20px; line-height:1; }
.profile-light-choice:hover,.profile-light-choice:focus-visible,.profile-light-choice.is-active { border-color:#c98c72; background:#fff0e8; color:#704332; outline:0; }
.profile-light-choice:hover { transform:translateY(-1px); }
.profile-light-choice.is-active { box-shadow:inset 0 0 0 1px #e3a384; }
.profile-wardrobe-section .profile-pose-form { padding:11px 0 0; }
.profile-background-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding-top:11px; }
.profile-background-choice { display:grid; grid-template-columns:54px minmax(0,1fr); align-items:center; gap:9px; min-height:58px; padding:4px; border:1px solid #ead0c3; border-radius:9px; background:#fff; color:#76503f; font:700 12px "Noto Sans SC",sans-serif; cursor:pointer; text-align:left; overflow:hidden; transition:border-color .16s,background .16s,transform .16s; }
.profile-background-choice img,.profile-background-preview { display:block; width:54px; height:50px; border-radius:6px; object-fit:cover; }
.profile-background-preview-default { background:radial-gradient(circle at 50% 35%,rgba(230,233,236,.45),transparent 42%),linear-gradient(155deg,#666b71,#2c3035); }
.profile-background-choice:hover,.profile-background-choice:focus-visible,.profile-background-choice.is-active { border-color:#c98c72; background:#fff0e8; color:#704332; outline:0; }
.profile-background-choice:hover { transform:translateY(-1px); }
.profile-background-choice.is-active { box-shadow:inset 0 0 0 1px #e3a384; }
.profile-medal-form { display:grid; gap:12px; padding-top:11px; }
.profile-medal-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.profile-medal-choice { position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); align-items:center; gap:8px; min-height:58px; padding:5px 8px 5px 5px; border:1px solid #ead0c3; border-radius:9px; background:#fff; color:#76503f; font:700 12px "Noto Sans SC",sans-serif; cursor:pointer; transition:border-color .16s,background .16s,transform .16s; }
.profile-medal-choice input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.profile-medal-choice img { display:block; width:48px; height:48px; object-fit:contain; }
.profile-medal-choice:hover,.profile-medal-choice:focus-within,.profile-medal-choice.is-active,.profile-medal-choice:has(input:checked) { border-color:#c98c72; background:#fff0e8; color:#704332; outline:0; }
.profile-medal-choice:hover { transform:translateY(-1px); }
.profile-medal-choice.is-active,.profile-medal-choice:has(input:checked) { box-shadow:inset 0 0 0 1px #e3a384; }
.profile-medal-form .button { justify-self:end; }
.profile-medals-dialog { width:min(430px,calc(100% - 34px)); max-height:calc(100dvh - 34px); padding:0; border:1px solid #ecd3c7; border-radius:15px; background:#fffaf7; color:var(--ink); box-shadow:0 24px 70px rgba(35,19,13,.35); overflow:auto; }
.profile-medals-dialog::backdrop { background:rgba(27,15,11,.62); backdrop-filter:blur(2px); }
.profile-medals-dialog .profile-medal-form { padding:18px 22px 22px; border-top:1px solid #ecd3c7; }
@media (max-width:530px) { .profile-wardrobe-dialog,.profile-medals-dialog { width:calc(100% - 28px); }.profile-background-form { grid-template-columns:1fr; }.profile-light-choices { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.admin-player-link { display:flex; align-items:center; gap:9px; min-width:0; color:#76503f; }
.admin-player-link:hover { color:#a1553b; }
.admin-player-action { margin-left:auto; color:#a17f70; font-size:10px; }
.admin-player-action:hover { color:#a1553b; text-decoration:underline; }
.admin-cosmetics-form { display:grid; gap:16px; max-width:620px; }
.admin-cosmetics-form fieldset { display:grid; gap:10px; padding:17px; border:1px solid #ecd3c7; border-radius:10px; background:#fffaf7; }
.admin-cosmetics-form legend { padding:0 5px; color:#704837; font:700 15px "Noto Sans SC",sans-serif; }
.admin-cosmetics-options { display:flex; flex-wrap:wrap; gap:9px 16px; }
.admin-cosmetics-options label { display:flex; align-items:center; gap:6px; color:#76503f; font-size:13px; }
.admin-cosmetics-form fieldset p { margin:0; color:#a17b6b; font-size:11px; }
.profile-title-edit { border:0; padding:4px 0; background:transparent; color:#a1553b; font:700 11px "Noto Sans SC",sans-serif; cursor:pointer; }
.profile-title-edit:hover,.profile-title-edit:focus-visible { color:#704332; text-decoration:underline; outline:0; }
.profile-title-dialog { width:min(430px,calc(100% - 34px)); max-height:calc(100dvh - 34px); padding:0; border:1px solid #ecd3c7; border-radius:15px; background:#fffaf7; color:var(--ink); box-shadow:0 24px 70px rgba(35,19,13,.35); overflow:auto; }
.profile-title-dialog::backdrop { background:rgba(27,15,11,.62); backdrop-filter:blur(2px); }
.profile-title-form { display:grid; gap:8px; padding:18px 22px 22px; border-top:1px solid #ecd3c7; }
.profile-title-choice { display:flex; align-items:flex-start; gap:10px; padding:10px; border:1px solid #ead0c3; border-radius:8px; background:#fff; color:#76503f; cursor:pointer; }
.profile-title-choice:has(input:checked) { border-color:#e3a384; box-shadow:inset 0 0 0 1px #e3a384; }
.profile-title-choice input { margin-top:3px; accent-color:#a1553b; }
.profile-title-choice span { display:grid; gap:3px; }
.profile-title-choice strong { font-size:12px; }
.profile-title-choice small { color:#987263; font-size:11px; }
 .post-actions [data-post-favorite].is-favorited { color:#8b5a2b; background:#fff0c2; border-color:#e7c46b; }
