:root {
  --member-bg:#f8f6f3;
  --member-surface:#fff;
  --member-fg:rgba(0,0,0,.85);
  --member-fg-2:rgba(0,0,0,.62);
  --member-muted:rgba(0,0,0,.45);
  --member-meta:rgba(0,0,0,.27);
  --member-border:rgba(0,0,0,.08);
  --member-accent:#ff2442;
  --member-accent-hover:#ff2e4d;
  --member-radius-sm:8px;
  --member-radius-md:12px;
  --member-radius-lg:20px;
  --member-side-width:220px;
  --member-font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",-apple-system,BlinkMacSystemFont,sans-serif;
}

*{box-sizing:border-box}
html{min-width:320px;background:var(--member-bg)}
body{margin:0;min-height:100vh;background:var(--member-bg);color:var(--member-fg);font-family:var(--member-font)}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
:focus-visible{outline:3px solid rgba(255,36,66,.28);outline-offset:2px}
.skip-link{position:fixed;left:12px;top:-60px;z-index:1000;padding:10px 14px;background:#111;color:#fff;border-radius:8px}
.skip-link:focus{top:12px}
.member-side{position:fixed;inset:0 auto 0 0;z-index:50;width:var(--member-side-width);display:flex;flex-direction:column;padding:20px 12px;background:var(--member-surface);border-right:1px solid rgba(0,0,0,.05)}
.member-brand{display:flex;align-items:center;gap:10px;padding:6px 10px 18px;color:var(--member-fg);text-decoration:none}
.member-brand strong{font-size:15px;white-space:nowrap}
.member-nav{display:flex;flex-direction:column;gap:2px}
.member-nav a,.member-nav span{display:flex;min-height:42px;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--member-radius-md);font-size:14px;text-decoration:none}
.member-nav a{color:var(--member-fg-2)}
.member-nav svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.member-nav a:hover{background:rgba(48,48,52,.05)}
.member-nav a[aria-current="page"]{background:rgba(48,48,52,.1);color:var(--member-fg);font-weight:600}
.member-nav a[aria-current="page"]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--member-accent)}
.member-nav span{color:var(--member-meta)}
.member-me{display:flex;align-items:center;gap:10px;margin-top:auto;padding:10px 12px;border-radius:var(--member-radius-md);color:var(--member-fg);text-decoration:none}
.member-me:hover{background:rgba(48,48,52,.05)}
.member-avatar{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:50%;background:rgba(48,48,52,.1);font-size:13px;color:var(--member-fg-2)}
.member-me strong,.member-me small{display:block;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-me strong{font-size:13px}.member-me small{margin-top:2px;color:var(--member-meta);font-size:11px}
.member-main{min-height:100vh;margin-left:var(--member-side-width)}
.flash-stack{position:fixed;top:16px;right:16px;z-index:200;display:grid;gap:8px;width:min(420px,calc(100vw - 32px))}
.flash{padding:12px 16px;border:1px solid var(--member-border);border-radius:10px;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.1);font-size:13px;line-height:1.5}
.flash-error{border-color:#c43d3d;color:#8f2020}.flash-success{border-color:#397a55;color:#245d3d}

@media (max-width:768px){
  .member-side{display:none}
  .member-main{margin-left:0}
  .flash-stack{top:10px;right:10px;width:calc(100vw - 20px)}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
