:root{
  --bg:#f6f1e9;
  --surface:#fffdfa;
  --ink:#3a322b;
  --ink-soft:#4a4139;
  --muted:#8b7f72;
  --accent:#b08d57;
  --line:#e6ddd0;
  --pad:30px;
  --content-pad:16px;
  --header-h:60px;
  --footer-h:54px;
  --sidebar-w:300px;
  --tile-h:clamp(84px, 10vh, 104px);
}

* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none;
}

[hidden]{ display: none !important; }
html,body{height:100%}

html {
  overflow-y: scroll;
}

body{
  margin:0;
  font-family:"Helvetica Neue",Arial,"Segoe UI",sans-serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 620px at 12% -12%, #fffaf3 0%, rgba(255,250,243,0) 62%),
    radial-gradient(900px 520px at 112% 112%, #f1e6d6 0%, rgba(241,230,214,0) 58%),
    var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a, button {
  text-decoration:none;
  color:inherit;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}
button:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

#app{
  position:fixed;
  top:var(--header-h); bottom:var(--footer-h);
  left:0; right:0;
  overflow:hidden;
}
.screen{
  height:100%;
  display:flex; flex-direction:column;
  overflow:hidden;
  animation: fade .25s ease both;
}
@keyframes fade{
  from{opacity:0;}
  to{opacity:1;}
}
.scroll-body{
  flex:1; min-height:0;
  overflow-y:auto;
  scrollbar-gutter: stable;
  scrollbar-width:thin;
  scrollbar-color:#d8cbb8 transparent;
}
.scroll-body::-webkit-scrollbar{width:10px}
.scroll-body::-webkit-scrollbar-track{background:transparent}
.scroll-body::-webkit-scrollbar-thumb{
  background:#d8cbb8; border-radius:10px;
  border:3px solid transparent; background-clip:content-box;
}

.site-header{
  position:fixed; top:0; left:0; right:0;
  height:var(--header-h);
  z-index:100;
  display:flex; align-items:center; justify-content:center;
  padding:0 var(--pad);
  background:rgba(246,241,233,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.menu-btn{
  position:absolute;
  left:var(--pad);
  top:50%;
  transform:translateY(-50%);
  width:40px; height:40px;
  border:1px solid var(--line);
  background:transparent;
  border-radius:10px;
  cursor:pointer;
  font-size:16px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, border-color .2s;
  color:var(--ink); padding:0;
}
.menu-btn:hover{background:rgba(176,141,87,.10); border-color:rgba(176,141,87,.4)}

.account-btn{
  position:absolute;
  right:var(--pad);
  top:50%;
  transform:translateY(-50%);
  width:40px; height:40px;
  border:1px solid var(--line);
  background:transparent;
  border-radius:50%;
  color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, border-color .2s, color .2s;
  text-decoration:none;
}
.account-btn:hover{
  background:rgba(176,141,87,.10);
  border-color:rgba(176,141,87,.55);
  color:var(--ink);
}
.account-btn svg{width:20px; height:20px; display:block}

.brand{
  display:flex; flex-direction:column; gap:4px;
  min-width:0; overflow:hidden;
  align-items:center;
  text-align:center;
  color:inherit;
}
a.brand:hover .brand-name{color:#6d4e1f}
.brand-top{
  font-size:12px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--muted); white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; line-height:1;
}
.brand-name{
  font-family:"Helvetica Neue",Arial,"Segoe UI",sans-serif;
  font-size:14px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink-soft); white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; line-height:1;
  text-shadow:
    0 1px 2px rgba(176,141,87,.45),
    0 0 4px rgba(176,141,87,.20);
}

.site-sidebar{
  display:none;
  position:fixed;
  top:0; left:0; bottom:0;
  width:var(--sidebar-w);
  background:#fdf8f0;
  border-right:1px solid var(--line);
  z-index:101;
  flex-direction:column;
  padding:16px;
  overflow-y:auto;
}
.site-sidebar a{
  display:block;
  padding:11px 14px;
  border-radius:8px;
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  transition:background .15s;
  line-height:1.4;
  white-space:normal;
  word-wrap:break-word;
}
.site-sidebar a:hover{background:rgba(176,141,87,.12)}
.site-sidebar a.active{
  background:rgba(176,141,87,.20);
  color:#6d4e1f; font-weight:500;
}
.site-sidebar .menu-sep{height:1px; margin:10px 4px; background:var(--line)}

.site-aside-right{
  display:none;
  position:fixed;
  top:0; right:0; bottom:0;
  width:var(--sidebar-w);
  background:#fdf8f0;
  border-left:1px solid var(--line);
  z-index:101;
  flex-direction:column;
  padding:16px;
  overflow-y:auto;
}
.ad-list{display:flex; flex-direction:column; gap:14px}
.ad-block{
  padding:20px 18px;
  border-radius:12px;
  border:1px solid rgba(176,141,87,.35);
  background:linear-gradient(160deg,#fffdf9,#f4ebdd);
  font-size:13px; line-height:1.6; color:var(--ink-soft);
  min-height:130px;
  display:flex; flex-direction:column; gap:8px;
}
.ad-block-primary{
  background:linear-gradient(160deg,#fbf4e6,#f0e0c4);
  border-color:rgba(176,141,87,.55);
}
.ad-label{
  font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--accent); font-family:Georgia,"Times New Roman",serif;
}
.ad-text{
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px; line-height:1.55; color:#4a3e30;
}
.ad-placeholder{
  flex:1;
  display:flex; align-items:center; justify-content:center;
  border:1px dashed rgba(176,141,87,.35);
  border-radius:8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px; color:var(--muted);
  letter-spacing:.04em; min-height:70px;
}

.menu-panel{
  position:fixed;
  top:var(--header-h); left:0; right:0;
  z-index:99;
  background:#fdf8f0;
  border-bottom:1px solid var(--line);
  padding:10px 16px 16px;
  display:flex; flex-direction:column; gap:2px;
  box-shadow:0 20px 40px -25px rgba(120,95,60,.5);
  animation:menuSlide .18s ease;
  max-height: calc(100vh - var(--header-h));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.menu-panel[hidden]{display:none}
@keyframes menuSlide{
  from{opacity:0; transform:translateY(-6px)}
  to{opacity:1; transform:none}
}
.menu-panel a{
  padding:11px 10px; border-radius:8px;
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  transition:background .15s;
}
.menu-panel a:hover{background:rgba(176,141,87,.12)}
.menu-panel .menu-sep{height:1px; margin:8px 10px; background:var(--line)}

.menu-slot{ display:block; }
.menu-slot[hidden]{ display:none !important; }

.menu-sim-wrap{
  display:flex; flex-direction:column; gap:6px;
  margin-top:auto; padding-top:12px;
}
.menu-sim-label{
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted);
}
.menu-sim-select{
  width:100%;
  padding:10px 14px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fdfaf5;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  color:var(--ink);
  cursor:pointer;
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d57' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:14px;
  padding-right:32px;
}
.menu-sim-select:focus{ outline:none; border-color:var(--accent); }

.menu-reset{
  padding:11px 14px;
  border:1px dashed rgba(176,141,87,.45);
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  font-size:13px;
  letter-spacing:.06em;
  cursor:pointer;
  text-align:left;
  font-family:Georgia,"Times New Roman",serif;
  transition:background .15s, color .15s, border-color .15s;
  margin-top:6px;
}
.menu-reset:hover{
  background:rgba(176,141,87,.10);
  color:#8a6f45;
  border-color:rgba(176,141,87,.7);
}
.menu-reset:active{transform:translateY(1px)}

.site-footer{
  position:fixed; bottom:0; left:0; right:0;
  height:var(--footer-h);
  z-index:100;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  padding:0 var(--pad);
  background:rgba(246,241,233,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
}
.footer-left{grid-column:1; justify-self:start}
.footer-right{grid-column:3; justify-self:end}

.back-btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:9px 16px 9px 13px;
  border:1px solid rgba(176,141,87,.35);
  border-radius:10px;
  background:linear-gradient(160deg,#fffdf9,#f4ebdd);
  cursor:pointer; font-size:13px; letter-spacing:.06em;
  color:var(--ink-soft);
  font-family:Georgia,"Times New Roman",serif;
  transition:background .2s, border-color .2s, transform .15s;
  flex:0 0 auto;
}
.back-btn:hover{
  border-color:rgba(176,141,87,.6);
  background:linear-gradient(160deg,#fffdf9,#efe3d0);
}
.back-btn:active{transform:translateY(1px)}
.back-btn[hidden]{display:none}
.back-arrow{font-size:16px; color:var(--accent); line-height:1}
.back-label{font-family:Georgia,serif; letter-spacing:.04em}

.footer-center-btn{
  grid-column:2;
  justify-self:center;
  display:inline-flex; align-items:center;
  padding:9px 22px;
  border:1px solid #a8824c;
  border-radius:10px;
  background:linear-gradient(160deg,#c09a63,#a8824c);
  color:#fffdf8;
  font-size:13px;
  letter-spacing:.04em;
  cursor:pointer;
  transition:background .2s, transform .15s;
  font-family:Georgia,"Times New Roman",serif;
  box-shadow:0 6px 16px -10px rgba(120,95,60,.9);
  white-space:nowrap;
}
.footer-center-btn:hover{background:linear-gradient(160deg,#c9a26a,#b08d57)}
.footer-center-btn:active{transform:translateY(1px)}
.footer-center-btn[hidden]{display:none}

.publish-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:9px 18px;
  border:1px solid #a8824c;
  border-radius:10px;
  background:linear-gradient(160deg,#c09a63,#a8824c);
  color:#fffdf8;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  letter-spacing:.04em;
  cursor:pointer;
  box-shadow:0 6px 16px -10px rgba(120,95,60,.9);
  transition:background .2s, transform .15s, color .2s, border-color .2s, box-shadow .2s;
  flex:0 0 auto;
  white-space:nowrap;
}
.publish-btn:hover{background:linear-gradient(160deg,#c9a26a,#b08d57)}
.publish-btn:active{transform:translateY(1px)}
.publish-btn[hidden]{display:none}
.publish-btn.publish-btn-hide{
  background:linear-gradient(160deg,#fbeee4,#f4d7c8);
  color:#a0432f;
  border-color:#ecc7b8;
  box-shadow:none;
}
.publish-btn.publish-btn-hide:hover{
  background:linear-gradient(160deg,#fbeee4,#ecc7b8);
  border-color:#a0432f;
}

.page-head{
  flex:0 0 auto;
  padding:10px var(--content-pad) 6px;
  display:flex; flex-direction:column; gap:6px;
  background:var(--bg);
  border-bottom:1px solid var(--line);
  position:relative; z-index:2;
}
.page-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(16px,1.8vw,22px);
  color:#40382f;
  letter-spacing:.01em;
  line-height:1.25;
}

.home-brand-head{display:none}
.home-brand-head .page-title{
  font-size:clamp(16px,1.8vw,22px);
  white-space:normal; overflow:visible; text-overflow:clip;
}
@media (min-width:960px){ .home-brand-head{display:flex} }

.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  letter-spacing:.02em;
  color:var(--muted);
  line-height:1.4;
  margin-bottom:2px;
}
.crumb{
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px dashed transparent;
  transition:color .15s, border-color .15s;
}
.crumb:hover{
  color:var(--accent);
  border-bottom-color:var(--accent);
}
.crumb-sep{
  color:var(--muted);
  opacity:.6;
  margin:0 2px;
}
.crumb-current{
  color:var(--ink);
  font-weight:500;
  letter-spacing:.02em;
}

.btn{
  padding:11px 24px;
  border-radius:999px;
  cursor:pointer;
  font-size:14px; letter-spacing:.03em;
  border:1px solid transparent;
  transition:background .2s, border-color .2s, transform .15s, color .2s;
  font-family:Georgia,"Times New Roman",serif;
  display:inline-block; text-align:center;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn-square{border-radius:10px; padding:12px 24px}
.btn-primary{
  background:linear-gradient(160deg,#c09a63,#a8824c);
  color:#fffdf8; border-color:#a8824c;
  box-shadow:0 10px 22px -14px rgba(120,95,60,.9);
}
.btn-primary:hover{background:linear-gradient(160deg,#c9a26a,#b08d57)}
.btn-ghost{
  background:linear-gradient(160deg,#fffdf9,#f4ebdd);
  border-color:rgba(176,141,87,.35);
  color:var(--ink-soft);
}
.btn-ghost:hover{
  border-color:rgba(176,141,87,.65);
  background:linear-gradient(160deg,#fffdf9,#efe3d0);
}
.btn[disabled]{opacity:.5; cursor:not-allowed; transform:none}

.empty-state{
  padding:40px 30px;
  text-align:center;
  border:1px dashed var(--line);
  border-radius:14px;
  color:var(--muted);
  font-family:Georgia,serif;
  font-size:15px;
  background:rgba(255,253,250,.5);
}

.is-muted { opacity: 0.5; }
.inline-form { display: inline; }
.form-mt     { margin-top: 14px; }
.ml-auto     { margin-left: auto; }

.rules-list{
  margin:0; padding-left:22px;
  color:var(--ink-soft);
  line-height:1.8; font-size:15px;
}
.rules-list li{margin-bottom:8px}
.rules-list li:last-child{margin-bottom:0}
.rules-list li::marker{color:var(--accent); font-family:Georgia,serif}

.tile{
  position:relative;
  overflow:hidden;
  display:flex; align-items:center; gap:16px;
  padding:0 24px 0 18px;
  height:var(--tile-h);
  border-radius:14px;
  border:1px solid rgba(190,170,140,.45);
  background:linear-gradient(160deg,#fffdf9 0%,#f8f0e4 38%,#efe3d2 72%,#f7eee1 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(160,135,100,.10),
    0 14px 30px -18px rgba(120,95,60,.55);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  -webkit-tap-highlight-color:transparent;
}
.tile::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,0) 46%);
  pointer-events:none;
}
.tile::after{
  content:"";
  position:absolute; top:-50%; bottom:-50%; left:-60%; width:45%;
  background:linear-gradient(100deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.70) 44%,
    rgba(255,255,255,.95) 50%,
    rgba(255,255,255,.45) 58%,
    rgba(255,255,255,0) 100%);
  transform:rotate(8deg) translateX(-45%);
  transition:transform .85s cubic-bezier(.2,.7,.3,1);
  pointer-events:none;
}
.tile:hover{
  transform:translateY(-2px);
  border-color:rgba(176,141,87,.62);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(160,135,100,.12),
    0 22px 40px -20px rgba(120,95,60,.60);
}
.tile:hover::after{transform:rotate(8deg) translateX(330%)}

.rule-icon{
  width:38px; height:38px;
  border-radius:50%;
  border:1.5px solid rgba(176,141,87,.55);
  color:var(--accent);
  display:inline-flex; align-items:center; justify-content:center;
  flex:0 0 auto;
  background:rgba(255,255,255,.55);
  transition:background .2s, color .2s, border-color .2s, transform .2s;
  position:relative; z-index:2;
}
.rule-icon svg{width:56%; height:56%; display:block}
.rule-icon:hover{
  background:var(--accent); color:#fff;
  border-color:var(--accent); transform:scale(1.06);
}
.rule-icon:focus-visible{outline:2px solid var(--accent); outline-offset:3px}

.tile-link{
  display:flex; align-items:center; gap:20px;
  flex:1; min-width:0; color:inherit;
  position:relative; z-index:2; height:100%;
}
.tile-link:focus-visible{outline:2px solid var(--accent); outline-offset:3px; border-radius:8px}
.tile-body{display:flex; flex-direction:column; gap:4px; min-width:0}
.tile-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(15px,1.55vw,18px);
  color:#3d352c; letter-spacing:.01em; line-height:1.3;
}
.tile-sub{font-size:12px; color:var(--muted); letter-spacing:.01em}

.tile-lg{padding:0 30px 0 22px; gap:18px}
.tile-lg .tile-title{font-size:clamp(16px,1.7vw,20px)}
.tile-lg .rule-icon{width:44px; height:44px}

.home-list{
  flex:1; min-height:0;
  overflow-y:auto;
  display:flex; flex-direction:column;
  gap:12px;
  padding:14px var(--content-pad) 20px;
  scrollbar-width:thin;
  scrollbar-color:#d8cbb8 transparent;
}
.home-list::-webkit-scrollbar{width:10px}
.home-list::-webkit-scrollbar-track{background:transparent}
.home-list::-webkit-scrollbar-thumb{
  background:#d8cbb8; border-radius:10px;
  border:3px solid transparent; background-clip:content-box;
}
.home-list > .tile{flex:0 0 auto}

.home-about{
  flex:0 0 auto;
  padding:18px 24px;
  border-radius:14px;
  border:1px solid rgba(176,141,87,.45);
  background:linear-gradient(160deg, rgba(255,253,250,.9), rgba(245,236,221,.72));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  font-family:Georgia,"Times New Roman",serif;
  color:var(--ink-soft);
  font-size:15px; line-height:1.78;
}
.home-about .about-label{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent);
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
  margin-bottom:12px;
}
.home-about p{margin:0}

.list{
  flex:1; min-height:0;
  overflow-y:auto;
  display:grid;
  grid-auto-rows:var(--tile-h);
  gap:14px;
  padding:14px var(--content-pad) 24px;
  scrollbar-width:thin;
  scrollbar-color:#d8cbb8 transparent;
}
.list::-webkit-scrollbar{width:10px}
.list::-webkit-scrollbar-track{background:transparent}
.list::-webkit-scrollbar-thumb{
  background:#d8cbb8; border-radius:10px;
  border:3px solid transparent; background-clip:content-box;
}

.item-body{
  padding:16px var(--content-pad) 40px;
  display:flex; flex-direction:column; gap:18px;
  width:100%;
}
.block{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 20px 10px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 16px 34px -26px rgba(120,95,60,.65);
}

.block-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:33px;
  margin:0 0 12px;
  padding:0 0 8px;
  border-bottom:1px solid var(--line);
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent);
  line-height:1.4;
  box-sizing:border-box;
}

.block h2{
  margin:0 0 14px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(18px,1.9vw,22px);
  color:#40382f;
}
.block p{
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.78; color:var(--ink-soft); font-size:16px;
  text-indent:1.5em;
}
.block p:last-child{margin-bottom:0}
.block .pending{
  color:var(--muted); font-style:italic;
  font-size:14px; line-height:1.7; padding:4px 0;
  text-indent:0;
}
.block-meta{
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--line);
}
.block-meta .meta-group{margin-bottom:10px}
.block-meta .meta-group:last-child{margin-bottom:0}
.block-meta .meta-label{
  font-size:10px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); margin-bottom:2px; line-height:1.4;
}
.block-meta .meta-value{
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px; color:var(--ink-soft); line-height:1.5;
}

.pair-list{
  margin:0; padding:0; list-style:none;
  display:flex; flex-direction:column; gap:8px;
}
.pair-item{
  display: block;
  padding:10px 14px;
  border-radius:8px;
  border:1px solid var(--line);
  background:#fdfaf5;
  font-size:14px; color:var(--ink-soft);
  text-decoration:none;
  line-height: 1.6;
}
.user-link-wrap {
  white-space: nowrap;
}
.pair-user{font-family:Georgia,serif; color:#6d6053; letter-spacing:.02em}
.pair-group{font-size:12px; color:var(--muted); letter-spacing:.02em}
.pair-vs{
  color:var(--accent); font-size:11px;
  letter-spacing:.1em; text-transform:uppercase; font-weight:500;
}
.pair-link{cursor:pointer; transition:background .2s, border-color .2s}
.pair-item.pair-link:hover{
  border-color:rgba(176,141,87,.55);
  background:#fdf9f2;
}
.pair-static{cursor:default}
.pair-action-btn{margin-left:auto}

.pair-item.pair-mine{
  border-color:rgba(176,141,87,.45);
  background:linear-gradient(160deg,#fbf4e6,#f4e6cb);
}
.pair-item.pair-mine:hover{
  border-color:rgba(176,141,87,.62);
  background:linear-gradient(160deg,#fbf4e6,#efe0c2);
}

.duel-actions{
  display:flex; gap:14px; flex-wrap:wrap; align-items:center;
}
.pair-title-count{
  font-size:12px; color:var(--muted); letter-spacing:.02em;
  font-family:"Helvetica Neue",Arial,sans-serif; font-weight:400;
}

.pair-busy-note{
  font-size:12px;
  color:var(--muted);
  font-style:italic;
  margin-left:8px;
  align-self:center;
}

.fight-status{font-size:14px; color:var(--ink-soft); margin-bottom:14px; line-height:1.6}
.fight-messages{display:flex; flex-direction:column; gap:10px}
.fight-message{
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fdfaf5;
}
.fight-message-meta{
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap;
  font-size:12px; color:var(--muted); margin-bottom:6px;
}
.fight-message-author{
  font-family:Georgia,serif; color:#6d6053; font-size:13px;
}
.fight-message-date{font-size:11px; color:var(--muted); letter-spacing:.02em}
.fight-message-text{
  font-size:14px; line-height:1.7; color:var(--ink-soft);
  white-space:pre-wrap;
}
.fight-empty{
  padding:18px;
  border:1px dashed var(--line);
  border-radius:10px;
  color:var(--muted);
  font-family:Georgia,serif;
  font-size:14px;
  background:rgba(255,253,250,.5);
}
.fight-form{margin-top:16px; padding-top:16px; border-top:1px solid var(--line)}
.fight-turn{font-size:13px; color:var(--muted); line-height:1.5; align-self:center}
.fight-turn-gap{margin-top:12px}

.comment-list{display:flex; flex-direction:column; gap:10px; margin-bottom:16px}
.comment-item{
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fdfaf5;
}

.suggested{margin-top:4px}
.suggested-toggle{
  width:100%;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:16px 22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:linear-gradient(160deg,#fffdf9,#f5ecdd);
  cursor:pointer;
  font-family:Georgia,serif;
  font-size:15px; color:var(--ink); text-align:left;
  transition:background .2s, border-color .2s;
}
.suggested-toggle:hover{
  border-color:rgba(176,141,87,.45);
  background:linear-gradient(160deg,#fffdf9,#efe3d0);
}
.suggested-toggle .chev{
  font-size:14px; color:var(--accent);
  transition:transform .25s ease;
  display:inline-block; flex:0 0 auto;
}
.suggested-toggle.open .chev{transform:rotate(180deg)}
.suggested-content{
  margin-top:10px;
  display:flex; flex-direction:column; gap:14px;
  animation:fade .25s ease;
}
.suggested-content[hidden]{display:none}

.account-body{
  padding:16px var(--content-pad) 40px;
  width:100%;
  display:flex; flex-direction:column; gap:18px;
}
.profile-card{
  display:flex; align-items:center; gap:24px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px 30px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 16px 34px -26px rgba(120,95,60,.65);
}
.avatar-portrait{
  width:110px; aspect-ratio:3 / 4;
  border-radius:10px;
  border:1px solid rgba(176,141,87,.45);
  background:linear-gradient(160deg,#fffdf9,#efe3d2);
  display:flex; align-items:center; justify-content:center;
  font-family:Georgia,serif; font-size:30px;
  color:var(--accent); letter-spacing:.02em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  flex:0 0 auto; overflow:hidden;
}
.profile-info{display:flex; flex-direction:column; gap:6px; min-width:0}
.profile-login{
  font-size:13px; letter-spacing:.14em; text-transform:none !important;
  color:var(--muted);
}
.profile-name{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(20px,2.2vw,26px); color:#40382f;
}
.profile-roles{display:flex; flex-wrap:wrap; gap:8px; margin-top:4px}
.badge{
  display:inline-block; padding:4px 12px;
  border-radius:8px;
  border:1px solid rgba(176,141,87,.35);
  background:rgba(176,141,87,.10);
  color:#8a6f45; font-size:11px;
  letter-spacing:.12em; text-transform:uppercase;
}

.account-actions{display:flex; flex-direction:column; gap:12px}
.action-btn{
  display:flex; align-items:center; gap:16px;
  padding:18px 24px;
  border:1px solid rgba(190,170,140,.45);
  border-radius:14px;
  background:linear-gradient(160deg,#fffdf9 0%,#f8f0e4 38%,#efe3d2 72%,#f7eee1 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(160,135,100,.10),
    0 14px 30px -18px rgba(120,95,60,.55);
  transition:transform .2s, box-shadow .2s, border-color .2s;
  color:inherit; text-decoration:none;
  position:relative; overflow:hidden; cursor:pointer;
}
.action-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(176,141,87,.62);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -1px 0 rgba(160,135,100,.12),
    0 22px 40px -20px rgba(120,95,60,.60);
}
.action-btn:active{transform:translateY(0)}
.action-btn.action-primary{
  border-color:rgba(176,141,87,.55);
  background:linear-gradient(160deg,#fff9ee 0%,#f4e4c5 40%,#ead6b0 72%,#f2e2c6 100%);
}
.action-icon{
  width:44px; height:44px;
  border-radius:12px;
  background:rgba(176,141,87,.15);
  color:var(--accent);
  display:flex; align-items:center; justify-content:center;
  font-size:20px; flex:0 0 auto;
  font-family:Georgia,serif;
}
.action-icon svg{width:22px; height:22px; display:block}
.action-btn.action-primary .action-icon{
  background:rgba(176,141,87,.28); color:#7a5d33;
}
.action-body{display:flex; flex-direction:column; gap:3px; flex:1; min-width:0}
.action-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px; color:#3d352c; letter-spacing:.01em;
}
.action-sub{
  font-family:Georgia,"Times New Roman",serif;
  font-size:12px; color:var(--muted); letter-spacing:.02em;
}
.action-count{
  min-width:28px; height:28px;
  padding:0 9px; border-radius:999px;
  background:var(--accent); color:#fff;
  font-size:13px; font-weight:600;
  display:flex; align-items:center; justify-content:center;
  flex:0 0 auto; font-variant-numeric:tabular-nums;
}

.invitations-body{padding-top:8px}
.invitation-list{display:flex; flex-direction:column; gap:14px}
.block .invitation-title{
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(15px,1.5vw,17px);
  color:#40382f;
  line-height:1.35;
}
.block .invitation-text{
  margin:0 0 8px;
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.7;
  text-indent:0;
  white-space: normal;
  overflow-wrap: break-word;
}
.block-label-actions{
  display:flex;
  align-items:center;
  gap:4px;
  flex:0 0 auto;
}

.accept-btn,
.go-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 6px;
  border:none;
  background:none;
  cursor:pointer;
  flex:0 0 auto;
  line-height:1;
  font-family:Georgia,"Times New Roman",serif;
  transition:color .2s, transform .15s;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  outline:none;
  box-shadow:none;
  text-decoration:none;
}
.accept-btn{ color:var(--muted); opacity:.8; }
.accept-btn:hover{ color:var(--accent); opacity:1; }
.accept-btn:active{ transform:scale(.94); }
.accept-btn svg{ width:16px; height:16px; display:block; flex:0 0 auto; }

.go-btn{ color:var(--accent); opacity:.9; }
.go-btn:hover{ color:#6d4e1f; opacity:1; }
.go-btn:active{ transform:translateX(1px); }
.go-btn svg{ width:16px; height:16px; display:block; flex:0 0 auto; }

.accepted-note{
  font-size:11px;
  letter-spacing:.04em;
  text-transform:none;
  color:var(--muted);
  font-family:"Helvetica Neue",Arial,sans-serif;
  white-space:nowrap;
}

.form-body{padding:16px var(--content-pad) 40px; width:100%}
.form-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  padding:28px 32px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 16px 34px -26px rgba(120,95,60,.65);
}
.form-field{display:flex; flex-direction:column; gap:6px; margin-bottom:18px}
.form-field label{
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted);
}
.form-field input,
.form-field select,
.form-field textarea{
  padding:13px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fdfaf5;
  font:inherit;
  font-size:15px;
  color:var(--ink);
  transition:border-color .2s, background .2s;
  width:100%;
  font-family:Georgia,"Times New Roman",serif;
}
.form-field textarea{resize:vertical; min-height:120px; line-height:1.5}
.form-field select{
  cursor:pointer; appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d57' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:16px;
  padding-right:40px;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus{
  outline:none; border-color:var(--accent); background:#fffdf9;
}
.form-hint{
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:4px;
  letter-spacing:.02em;
  line-height:1.4;
}
.form-actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:6px}

.form-message {
  position: fixed;
  top: calc(var(--header-h) + 10px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  width: calc(100vw - 32px);
  max-width: 400px;
  padding: 14px 18px;
  border-radius: 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 14px;
  line-height: 1.5;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  animation: dropFade .3s ease;
}
.form-message.error {
  background: #fbeee4; color: #a0432f; border: 1px solid #ecc7b8;
}
.form-message.success {
  background: #fbf4e6; color: #8a6f45; border: 1px solid var(--accent);
}
@keyframes dropFade {
  from { opacity: 0; transform: translate(-50%, -10px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

.search-body{padding:16px var(--content-pad) 40px; width:100%}
.search-row{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.search-results{
  margin-top:22px; display:flex; flex-direction:column; gap:8px;
}
.search-results[hidden]{display:none}
.search-results-count{
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); margin-bottom:6px;
}
.search-result{
  display:block;
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
  transition:background .2s, border-color .2s, transform .15s;
}
.search-result:hover{
  border-color:rgba(176,141,87,.5);
  background:#fdf9f2;
  transform:translateY(-1px);
}
.search-result-type{
  font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--accent); margin-bottom:4px;
}
.search-result-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px; color:#3d352c; line-height:1.35;
}
.search-result-meta{
  font-size:12px; color:var(--muted);
  margin-top:4px; letter-spacing:.02em;
}
.search-empty{
  padding:28px 22px;
  text-align:center;
  border:1px dashed var(--line);
  border-radius:12px;
  color:var(--muted);
  font-family:Georgia,serif;
  font-size:14px;
  background:rgba(255,253,250,.5);
}

.group-choice-row{
  display:grid; grid-template-columns:1fr 1fr;
  gap:14px; margin:6px 0 18px;
}
.group-choice{
  padding:24px 18px;
  border:1.5px solid rgba(190,170,140,.45);
  border-radius:14px;
  background:linear-gradient(160deg,#fffdf9,#f5ecdd);
  cursor:pointer;
  font-family:Georgia,"Times New Roman",serif;
  font-size:18px; color:var(--ink);
  transition:background .2s, border-color .2s, box-shadow .2s, transform .15s;
  text-align:center;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 10px 22px -18px rgba(120,95,60,.55);
}
.group-choice:hover:not([disabled]){
  border-color:var(--accent);
  background:linear-gradient(160deg,#fffdf9,#efe3d0);
  transform:translateY(-1px);
}
.group-choice.active{
  border-color:var(--accent);
  background:linear-gradient(160deg,#f7ebd5,#ead9bc);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 0 0 3px rgba(176,141,87,.18);
  color:#6d4e1f;
}
.group-choice[disabled]{opacity:.4; cursor:not-allowed; box-shadow:none}
.group-choice small{
  display:block; margin-top:4px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted);
  font-weight:400;
}
.group-choice.active small{color:#8a6f45}

.group-title{
  margin:0 0 4px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(15px,1.5vw,17px);
  color:#40382f;
  line-height:1.35;
}
.group-hint{
  font-size:13px; line-height:1.6;
  color:var(--muted); margin:0;
}
.group-pending{
  margin-top:18px;
  padding:18px 22px;
  border-radius:12px;
  background:linear-gradient(160deg,#fbf4e6,#f4e6cb);
  border:1px solid rgba(176,141,87,.4);
  display:flex; flex-direction:column; gap:12px;
  animation:fade .25s ease;
}
.group-pending[hidden]{display:none}
.group-pending p{margin:0; font-size:14px; line-height:1.65; color:var(--ink-soft)}
.group-pending strong{color:#8a5a1f; font-family:Georgia,serif; font-size:16px; font-weight:400}

.theme-card{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
  padding:20px 24px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  flex-wrap:wrap;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 16px 34px -26px rgba(120,95,60,.65);
}
.theme-card-body{display:flex; flex-direction:column; gap:4px; min-width:0}
.theme-card-label{
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;
  color:var(--ink);
  letter-spacing:.01em;
}
.theme-card-hint{
  margin:0;
  font-size:12px;
  color:var(--muted);
  line-height:1.5;
}
.theme-toggle{
  display:inline-flex;
  padding:4px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#f4ebdd;
  gap:2px;
  flex:0 0 auto;
}
.theme-option{
  padding:8px 16px;
  border:none;
  border-radius:999px;
  background:transparent;
  color:var(--ink-soft);
  font-size:13px;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .2s, color .2s;
  font-family:Georgia,"Times New Roman",serif;
}
.theme-option:hover{color:var(--ink)}
.theme-option.active{
  background:linear-gradient(160deg,#c09a63,#a8824c);
  color:#fffdf8;
  box-shadow:0 6px 16px -10px rgba(120,95,60,.9);
}

.like-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 6px;
  border:none;
  background:none;
  color:#a3745a;
  font-size:13px;
  cursor:pointer;
  font-variant-numeric:tabular-nums;
  flex:0 0 auto;
  font-family:Georgia,"Times New Roman",serif;
  line-height:1;
  transition:color .2s, transform .15s;
  opacity:.75;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  box-shadow: none;
}
.like-btn:hover{ opacity:1; }
.like-btn:active{ transform:scale(.94); }
.like-btn[disabled]{ cursor:not-allowed; opacity:.4; }
.like-btn svg{
  width:16px; height:16px; display:block; flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linejoin:round;
  transition:fill .15s, stroke .15s;
}
.like-btn.active{ opacity:1; }
.like-btn.active svg{
  fill:currentColor;
  stroke:currentColor;
}
.like-count{
  font-variant-numeric:tabular-nums;
  font-size:13px;
  min-width:10px;
  text-align:left;
}

.trash-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:4px 6px;
  border:none;
  border-radius:0;
  background:none;
  color:var(--muted);
  cursor:pointer;
  flex:0 0 auto;
  font-family:Georgia,"Times New Roman",serif;
  line-height:1;
  transition:color .2s, transform .15s;
  opacity:.75;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  box-shadow: none;
}
.trash-btn:hover{
  color:#a0432f;
  opacity:1;
}
.trash-btn:active{transform:scale(.94)}
.trash-btn svg{
  width:16px;
  height:16px;
  display:block;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linejoin:round;
}

.invitation-items{
  margin:0; padding:0; list-style:none;
  display:flex; flex-direction:column; gap:10px;
}
.invitation-item{
  padding:14px 18px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fdfaf5;
  display:flex; flex-direction:column; gap:6px;
}
.invitation-item-head{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-size:12px; color:var(--muted);
}
.invitation-item-head .accept-btn{ margin-left:auto; }
.invitation-item-head .accept-btn:not([disabled]){
  opacity:1;
  color:var(--accent);
}
.invitation-item-head .accept-btn:not([disabled]):hover{
  color:#6d4e1f;
}
.invitation-item-link{
  font-family:Georgia,"Times New Roman",serif;
  font-size:17px;
  color:#3d352c;
  text-decoration:none;
  border-bottom:1px dashed rgba(176,141,87,.45);
  align-self:flex-start;
  transition:color .15s, border-color .15s;
}
.invitation-item-link:hover{
  color:var(--accent);
  border-bottom-color:var(--accent);
}
.invitation-open-body{
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.5;
  color: var(--ink-soft);
  text-indent: 0;
}
.invitation-open-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-top: 8px;
  font-size: 12px;
  color: var(--muted);
}
.invitation-open-meta .meta-label{
  color: var(--muted);
  letter-spacing: .02em;
}
.invitation-open-meta .meta-value{
  color: var(--ink-soft);
}

.invitation-tabs{
  display:flex;
  gap:4px;
  border-bottom:1px solid var(--line);
}
.invitation-tab{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border:none;
  border-bottom:2px solid transparent;
  background:transparent;
  color:var(--muted);
  font-size:14px;
  letter-spacing:.02em;
  cursor:pointer;
  text-decoration:none;
  transition:color .15s, border-color .15s;
  margin-bottom:-1px;
  font-family:Georgia,"Times New Roman",serif;
}
.invitation-tab:hover{ color:var(--ink-soft); }
.invitation-tab.active{
  color:#6d4e1f;
  border-bottom-color:var(--accent);
  font-weight:500;
}
.invitation-tab-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  font-size:11px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
}

.sugg-extra[hidden]{ display:none; }
.sugg-extra{
  margin: 4px 0 18px;
  padding: 16px 18px;
  border: 1px dashed var(--line);
  border-radius: 10px;
  background: rgba(176,141,87,.04);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.sugg-extra .form-field{ margin-bottom: 0; }

.suggestion-extra{
  margin: 16px 0;
  padding: 16px 20px;
  border-radius: 10px;
  background: rgba(176,141,87,.06);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.suggestion-extra-item{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 14px;
  align-items: baseline;
  color: var(--ink-soft);
}
.suggestion-extra-item .meta-label{
  color: var(--muted);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.suggestion-extra-item .meta-value{
  color: var(--ink-soft);
  font-size: 14px;
}

.member-list{
  margin:0; padding:0; list-style:none;
  display:flex; flex-direction:column; gap:8px;
}
.member-item{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
  padding:0;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fdfaf5;
}
.member-info{display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 auto}
.member-name{
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px; color:#3d352c; letter-spacing:.01em;
}
.member-login{font-size:12px; color:var(--muted); letter-spacing:.04em}
.member-badges{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
  flex:0 0 auto;
}
.member-me{
  border-color:rgba(176,141,87,.55);
  background:linear-gradient(160deg,#fbf4e6,#f4e6cb);
}
.member-avatar{
  width:42px;
  aspect-ratio:3 / 4;
  flex:0 0 auto;
  border-radius:6px;
  border:1px solid rgba(176,141,87,.4);
  background:linear-gradient(160deg,#fffdf9,#efe3d2);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  letter-spacing:.02em;
  color:var(--accent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  overflow:hidden;
  user-select:none;
}
.member-link{
  display:flex;
  align-items:center;
  gap:14px;
  padding:10px 18px;
  width:100%;
  color:inherit;
  text-decoration:none;
}
.member-item:hover{
  border-color:rgba(176,141,87,.55);
  background:#fdf9f2;
}

.login-link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px dashed rgba(176,141,87,.45);
  transition:color .15s, border-color .15s;
  white-space:nowrap;
}
.login-link:hover{
  color:var(--accent);
  border-bottom-color:var(--accent);
}

.profile-dates{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:4px;
}
.profile-date-item{
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  color:var(--ink-soft);
  line-height:1.5;
}
.profile-date-label{
  color:var(--muted);
  margin-right:4px;
  letter-spacing:.02em;
}
.profile-date-value{color:var(--ink-soft)}

.editor{
  border:1px solid var(--line);
  border-radius:10px;
  background:#fdfaf5;
  overflow:hidden;
}
.editor-toolbar{
  display:flex; flex-wrap:wrap; gap:2px;
  padding:6px 8px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(160deg,#fffdf9,#f4ebdd);
}
.editor-toolbar button{
  min-width:32px; height:32px;
  padding:0 8px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:var(--ink-soft);
  font-family:Georgia,"Times New Roman",serif;
  font-size:14px;
  cursor:pointer;
  transition:background .15s, border-color .15s;
}
.editor-toolbar button:hover{
  background:rgba(176,141,87,.12);
  border-color:rgba(176,141,87,.4);
}
.editor-toolbar button:active{ transform:translateY(1px); }
.editor-content{
  min-height:220px;
  padding:14px 18px;
  outline:none;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  line-height:1.7;
  color:var(--ink);
}
.editor-content:focus{ background:#fffdf9; }
.editor-content p{ margin:0 0 10px; }
.editor-content p:last-child{ margin-bottom:0; }
.editor-content table{ border-collapse:collapse; margin:10px 0; width:100%; }
.editor-content th,
.editor-content td{
  border:1px solid var(--line);
  padding:6px 10px;
  text-align:left;
  vertical-align:top;
}

.article-content p{
  margin:0 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.78;
  color:var(--ink-soft);
  font-size:16px;
}
.article-content p:last-child{ margin-bottom:0; }
.article-content table{
  border-collapse:collapse;
  margin:12px 0;
  width:100%;
}
.article-content th,
.article-content td{
  border:1px solid var(--line);
  padding:8px 12px;
  text-align:left;
  vertical-align:top;
}
.article-content blockquote{
  margin:12px 0;
  padding:8px 16px;
  border-left:3px solid var(--accent);
  background:rgba(176,141,87,.06);
  font-style:italic;
}

.perms-table{
  width:100%;
  border-collapse:collapse;
  font-family:Georgia,"Times New Roman",serif;
}
.perms-table th,
.perms-table td{
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  text-align:left;
}
.perms-table th{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:400;
}
.perms-user{ display:flex; flex-direction:column; gap:2px; }
.perm-toggle{
  min-width:44px;
  padding:6px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  color:var(--muted);
  font-size:14px;
  cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
}
.perm-toggle:hover{ border-color:rgba(176,141,87,.55); }
.perm-toggle.on{
  background:rgba(176,141,87,.15);
  color:#8a6f45;
  border-color:var(--accent);
}

[data-theme="dark"]{
  --bg:#1a1612;
  --surface:#252018;
  --ink:#e8dcc8;
  --ink-soft:#d4c6b0;
  --muted:#998a75;
  --accent:#c9a26a;
  --line:#3a332a;
}
[data-theme="dark"] body{
  background:
    radial-gradient(1200px 620px at 12% -12%, #221c16 0%, rgba(34,28,22,0) 62%),
    radial-gradient(900px 520px at 112% 112%, #1a140f 0%, rgba(26,20,15,0) 58%),
    #1a1612;
}
[data-theme="dark"] .site-header,
[data-theme="dark"] .site-footer{background:rgba(26,22,18,.92)}
[data-theme="dark"] .site-sidebar,
[data-theme="dark"] .site-aside-right,
[data-theme="dark"] .menu-panel{background:#221c16}
[data-theme="dark"] .menu-btn,
[data-theme="dark"] .account-btn{border-color:#3a332a; color:#c9a26a}
[data-theme="dark"] .menu-btn:hover,
[data-theme="dark"] .account-btn:hover{
  background:rgba(201,162,106,.10);
  border-color:rgba(201,162,106,.5);
  color:#e8dcc8;
}
[data-theme="dark"] .brand-name{
  color:#d4c6b0;
  text-shadow:0 1px 2px rgba(201,162,106,.45), 0 0 4px rgba(201,162,106,.2);
}
[data-theme="dark"] .brand-top{color:#998a75}
[data-theme="dark"] a.brand:hover .brand-name{color:#e8dcc8}

[data-theme="dark"] .page-head{
  background:#1a1612;
  border-bottom-color:rgba(58,51,42,.7);
}
[data-theme="dark"] .page-title{color:#e8dcc8}

[data-theme="dark"] .site-sidebar a,
[data-theme="dark"] .menu-panel a{color:#e8dcc8}
[data-theme="dark"] .site-sidebar a:hover,
[data-theme="dark"] .menu-panel a:hover{background:rgba(201,162,106,.14)}
[data-theme="dark"] .site-sidebar a.active{
  background:rgba(201,162,106,.22);
  color:#e8c48f;
}
[data-theme="dark"] .site-sidebar .menu-sep,
[data-theme="dark"] .menu-panel .menu-sep{background:#3a332a}

[data-theme="dark"] .menu-reset{
  border-color:rgba(201,162,106,.4);
  color:#998a75;
}
[data-theme="dark"] .menu-reset:hover{
  background:rgba(201,162,106,.10);
  color:#d4af7a;
  border-color:rgba(201,162,106,.7);
}

[data-theme="dark"] .ad-block{
  background:linear-gradient(160deg,#2e271e,#2a2219);
  border-color:rgba(201,162,106,.3);
  color:#d4c6b0;
}
[data-theme="dark"] .ad-block-primary{
  background:linear-gradient(160deg,#35281a,#3d2e1e);
  border-color:rgba(201,162,106,.5);
}
[data-theme="dark"] .ad-text{color:#d4c6b0}
[data-theme="dark"] .ad-placeholder{
  border-color:rgba(201,162,106,.3);
  color:#998a75;
}

[data-theme="dark"] .back-btn{
  background:linear-gradient(160deg,#2e271e,#2a2219);
  border-color:rgba(201,162,106,.35);
  color:#d4c6b0;
}
[data-theme="dark"] .back-btn:hover{
  background:linear-gradient(160deg,#2e271e,#352c21);
  border-color:rgba(201,162,106,.65);
}
[data-theme="dark"] .footer-center-btn{
  background:linear-gradient(160deg,#b08d57,#96754a);
  border-color:#96754a;
  box-shadow:0 6px 16px -10px rgba(0,0,0,.9);
}
[data-theme="dark"] .footer-center-btn:hover{
  background:linear-gradient(160deg,#c09a63,#a8824c);
}
[data-theme="dark"] .publish-btn{
  background:linear-gradient(160deg,#b08d57,#96754a);
  border-color:#96754a;
}
[data-theme="dark"] .publish-btn:hover{
  background:linear-gradient(160deg,#c09a63,#a8824c);
}
[data-theme="dark"] .publish-btn.publish-btn-hide{
  background:linear-gradient(160deg,#3d2820,#5c382c);
  border-color:#5c382c;
  color:#e0a596;
}
[data-theme="dark"] .publish-btn.publish-btn-hide:hover{
  background:linear-gradient(160deg,#4a3025,#6a4033);
  border-color:#e0a596;
}

[data-theme="dark"] .btn-primary{
  background:linear-gradient(160deg,#b08d57,#96754a);
  border-color:#96754a;
  box-shadow:0 10px 22px -14px rgba(0,0,0,.9);
}
[data-theme="dark"] .btn-primary:hover{
  background:linear-gradient(160deg,#c09a63,#a8824c);
}
[data-theme="dark"] .btn-ghost{
  background:linear-gradient(160deg,#2e271e,#2a2219);
  border-color:rgba(201,162,106,.35);
  color:#d4c6b0;
}
[data-theme="dark"] .btn-ghost:hover{
  background:linear-gradient(160deg,#2e271e,#352c21);
  border-color:rgba(201,162,106,.65);
}

[data-theme="dark"] .empty-state{
  background:rgba(46,39,30,.5);
  border-color:#3a332a;
  color:#998a75;
}

[data-theme="dark"] .tile{
  background:linear-gradient(160deg,#2e271e 0%,#2a2219 38%,#251e16 72%,#2c241a 100%);
  border-color:rgba(120,100,70,.5);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(0,0,0,.3),
    0 14px 30px -18px rgba(0,0,0,.8);
}
[data-theme="dark"] .tile::before{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0) 46%);
}
[data-theme="dark"] .tile::after{
  background:linear-gradient(100deg,
    rgba(255,220,170,0) 0%,
    rgba(255,220,170,.06) 44%,
    rgba(255,220,170,.14) 50%,
    rgba(255,220,170,.06) 58%,
    rgba(255,220,170,0) 100%);
}
[data-theme="dark"] .tile:hover{
  border-color:rgba(201,162,106,.7);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    inset 0 -1px 0 rgba(0,0,0,.3),
    0 22px 40px -20px rgba(0,0,0,.9);
}
[data-theme="dark"] .tile-title{color:#e8dcc8}
[data-theme="dark"] .tile-sub{color:#998a75}
[data-theme="dark"] .rule-icon{
  background:rgba(46,39,30,.7);
  border-color:rgba(201,162,106,.5);
  color:#c9a26a;
}
[data-theme="dark"] .rule-icon:hover{
  background:#c9a26a;
  color:#1a1612;
  border-color:#c9a26a;
}

[data-theme="dark"] .home-about{
  background:linear-gradient(160deg, rgba(46,39,30,.9), rgba(42,34,25,.72));
  border-color:rgba(201,162,106,.35);
  color:#d4c6b0;
}
[data-theme="dark"] .home-about .about-label{
  color:#c9a26a;
  border-bottom-color:#3a332a;
}

[data-theme="dark"] .block{
  background:#252018;
  border-color:#3a332a;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 16px 34px -26px rgba(0,0,0,.9);
}
[data-theme="dark"] .block h2{color:#e8dcc8}
[data-theme="dark"] .block p{color:#d4c6b0}
[data-theme="dark"] .block .pending{color:#998a75}
[data-theme="dark"] .block-meta{border-top-color:#3a332a}
[data-theme="dark"] .block-meta .meta-value{color:#d4c6b0}

[data-theme="dark"] .pair-item{
  background:#2a241c;
  border-color:#3a332a;
  color:#d4c6b0;
}
[data-theme="dark"] .pair-item.pair-link:hover{
  background:#2e271e;
  border-color:rgba(201,162,106,.55);
}
[data-theme="dark"] .pair-user{color:#cbbfa8}
[data-theme="dark"] .pair-item.pair-mine{
  background:linear-gradient(160deg,#35281a,#3d2e1e);
  border-color:rgba(201,162,106,.45);
}
[data-theme="dark"] .pair-item.pair-mine:hover{
  background:linear-gradient(160deg,#35281a,#44321f);
  border-color:rgba(201,162,106,.65);
}
[data-theme="dark"] .pair-item .pair-vs{color:#e8c48f}
[data-theme="dark"] .pair-busy-note{color:#998a75}

[data-theme="dark"] .fight-message,
[data-theme="dark"] .comment-item{
  background:#2a241c;
  border-color:#3a332a;
}
[data-theme="dark"] .fight-message-author{color:#cbbfa8}
[data-theme="dark"] .fight-message-text{color:#d4c6b0}
[data-theme="dark"] .fight-empty{
  background:rgba(46,39,30,.5);
  border-color:#3a332a;
  color:#998a75;
}
[data-theme="dark"] .fight-form{border-top-color:#3a332a}
[data-theme="dark"] .fight-status{color:#d4c6b0}
[data-theme="dark"] .fight-turn{color:#998a75}

[data-theme="dark"] .suggested-toggle{
  background:linear-gradient(160deg,#2e271e,#2a2219);
  border-color:#3a332a;
  color:#e8dcc8;
}
[data-theme="dark"] .suggested-toggle:hover{
  background:linear-gradient(160deg,#2e271e,#352c21);
  border-color:rgba(201,162,106,.5);
}

[data-theme="dark"] .profile-card{
  background:#252018;
  border-color:#3a332a;
}
[data-theme="dark"] .avatar-portrait{
  background:linear-gradient(160deg,#2e271e,#2a2219);
  border-color:rgba(201,162,106,.4);
  color:#c9a26a;
}
[data-theme="dark"] .profile-name{color:#e8dcc8}
[data-theme="dark"] .badge{
  background:rgba(201,162,106,.12);
  border-color:rgba(201,162,106,.4);
  color:#d4af7a;
}

[data-theme="dark"] .action-btn{
  background:linear-gradient(160deg,#2e271e 0%,#2a2219 38%,#251e16 72%,#2c241a 100%);
  border-color:rgba(120,100,70,.5);
}
[data-theme="dark"] .action-btn:hover{
  border-color:rgba(201,162,106,.65);
}
[data-theme="dark"] .action-btn.action-primary{
  background:linear-gradient(160deg,#35281a 0%,#3d2e1e 40%,#44321f 72%,#4a3722 100%);
  border-color:rgba(201,162,106,.5);
}
[data-theme="dark"] .action-icon{
  background:rgba(201,162,106,.15);
  color:#c9a26a;
}
[data-theme="dark"] .action-btn.action-primary .action-icon{
  background:rgba(201,162,106,.28);
  color:#e8c48f;
}
[data-theme="dark"] .action-title{color:#e8dcc8}
[data-theme="dark"] .action-sub{color:#998a75}

[data-theme="dark"] .theme-card{
  background:#252018;
  border-color:#3a332a;
}
[data-theme="dark"] .theme-card-label{color:#e8dcc8}
[data-theme="dark"] .theme-card-hint{color:#998a75}
[data-theme="dark"] .theme-toggle{
  background:#2a2219;
  border-color:#3a332a;
}
[data-theme="dark"] .theme-option{color:#d4c6b0}
[data-theme="dark"] .theme-option:hover{color:#e8dcc8}
[data-theme="dark"] .theme-option.active{
  background:linear-gradient(160deg,#b08d57,#96754a);
  color:#fffdf8;
}

[data-theme="dark"] .block .invitation-title{color:#e8dcc8}
[data-theme="dark"] .block .invitation-text{color:#d4c6b0}

[data-theme="dark"] .form-card{
  background:#252018;
  border-color:#3a332a;
}
[data-theme="dark"] .form-field input,
[data-theme="dark"] .form-field select,
[data-theme="dark"] .form-field textarea{
  background:#2a241c;
  border-color:#3a332a;
  color:#e8dcc8;
}
[data-theme="dark"] .form-field input:focus,
[data-theme="dark"] .form-field select:focus,
[data-theme="dark"] .form-field textarea:focus{
  background:#2e271e;
  border-color:#c9a26a;
}
[data-theme="dark"] .form-hint{color:#998a75}

[data-theme="dark"] .form-message.error{
  background:#3d2820; color:#e0a596; border-color:#5c382c;
}
[data-theme="dark"] .form-message.success{
  background:#35281a; color:#d4af7a; border-color:rgba(201,162,106,.4);
}

[data-theme="dark"] .search-result{
  background:#252018;
  border-color:#3a332a;
}
[data-theme="dark"] .search-result:hover{
  background:#2e271e;
  border-color:rgba(201,162,106,.5);
}
[data-theme="dark"] .search-result-title{color:#e8dcc8}
[data-theme="dark"] .search-empty{
  background:rgba(46,39,30,.5);
  border-color:#3a332a;
  color:#998a75;
}

[data-theme="dark"] .group-choice{
  background:linear-gradient(160deg,#2e271e,#2a2219);
  border-color:rgba(120,100,70,.5);
  color:#e8dcc8;
}
[data-theme="dark"] .group-choice:hover:not([disabled]){
  background:linear-gradient(160deg,#2e271e,#352c21);
  border-color:#c9a26a;
}
[data-theme="dark"] .group-choice.active{
  background:linear-gradient(160deg,#3d2e1e,#44321f);
  border-color:#c9a26a;
  color:#e8c48f;
}
[data-theme="dark"] .group-choice.active small{color:#d4af7a}
[data-theme="dark"] .group-title{color:#e8dcc8}
[data-theme="dark"] .group-pending{
  background:linear-gradient(160deg,#35281a,#3d2e1e);
  border-color:rgba(201,162,106,.4);
}
[data-theme="dark"] .group-pending p{color:#d4c6b0}
[data-theme="dark"] .group-pending strong{color:#e8c48f}

[data-theme="dark"] .accept-btn{color:#998a75}
[data-theme="dark"] .accept-btn:hover{color:#e8c48f}
[data-theme="dark"] .go-btn{color:#c9a26a}
[data-theme="dark"] .go-btn:hover{color:#e8c48f}
[data-theme="dark"] .accepted-note{color:#998a75}

[data-theme="dark"] .breadcrumbs,
[data-theme="dark"] .crumb,
[data-theme="dark"] .crumb-sep{color:#998a75}
[data-theme="dark"] .crumb:hover{color:#e8c48f}
[data-theme="dark"] .crumb-current{color:#e8dcc8}

[data-theme="dark"] .login-link{border-bottom-color:rgba(201,162,106,.4)}
[data-theme="dark"] .login-link:hover{color:#e8c48f; border-bottom-color:#e8c48f}

[data-theme="dark"] .like-btn{color:#e0a596}
[data-theme="dark"] .like-btn.active svg{fill:currentColor; stroke:currentColor}
[data-theme="dark"] .trash-btn{color:#998a75}
[data-theme="dark"] .trash-btn:hover{color:#e0a596}

[data-theme="dark"] .member-item{
  background:#2a241c;
  border-color:#3a332a;
}
[data-theme="dark"] .member-name{color:#e8dcc8}
[data-theme="dark"] .member-item:hover{
  background:#2e271e;
  border-color:rgba(201,162,106,.55);
}
[data-theme="dark"] .member-me{
  background:linear-gradient(160deg,#35281a,#3d2e1e);
  border-color:rgba(201,162,106,.5);
}
[data-theme="dark"] .member-avatar{
  background:linear-gradient(160deg,#2e271e,#2a2219);
  border-color:rgba(201,162,106,.4);
  color:#c9a26a;
}

[data-theme="dark"] .invitation-item{
  background:#2a241c;
  border-color:#3a332a;
}
[data-theme="dark"] .invitation-item-link{
  color:#e8dcc8;
  border-bottom-color:rgba(201,162,106,.4);
}
[data-theme="dark"] .invitation-item-link:hover{
  color:#e8c48f;
  border-bottom-color:#e8c48f;
}
[data-theme="dark"] .invitation-open-body{color:#d4c6b0}
[data-theme="dark"] .invitation-open-meta .meta-value{color:#d4c6b0}

[data-theme="dark"] .invitation-tabs{border-bottom-color:#3a332a}
[data-theme="dark"] .invitation-tab{color:#998a75}
[data-theme="dark"] .invitation-tab:hover{color:#d4c6b0}
[data-theme="dark"] .invitation-tab.active{
  color:#e8c48f;
  border-bottom-color:#c9a26a;
}
[data-theme="dark"] .invitation-tab-count{
  background:#c9a26a;
  color:#1a1612;
}

[data-theme="dark"] .sugg-extra{
  background:rgba(201,162,106,.06);
  border-color:#3a332a;
}
[data-theme="dark"] .suggestion-extra{
  background:rgba(201,162,106,.08);
  border-color:#3a332a;
}
[data-theme="dark"] .suggestion-extra-item{color:#d4c6b0}
[data-theme="dark"] .suggestion-extra-item .meta-value{color:#d4c6b0}

[data-theme="dark"] .profile-dates{border-top-color:#3a332a}
[data-theme="dark"] .profile-date-value{color:#d4c6b0}

[data-theme="dark"] .editor{
  background:#2a241c;
  border-color:#3a332a;
}
[data-theme="dark"] .editor-toolbar{
  background:linear-gradient(160deg,#2e271e,#2a2219);
  border-bottom-color:#3a332a;
}
[data-theme="dark"] .editor-toolbar button{color:#d4c6b0}
[data-theme="dark"] .editor-toolbar button:hover{
  background:rgba(201,162,106,.15);
  border-color:rgba(201,162,106,.4);
}
[data-theme="dark"] .editor-content{color:#d4c6b0}
[data-theme="dark"] .editor-content:focus{background:#2e271e}
[data-theme="dark"] .editor-content th,
[data-theme="dark"] .editor-content td{border-color:#3a332a}
[data-theme="dark"] .article-content p{color:#d4c6b0}
[data-theme="dark"] .article-content th,
[data-theme="dark"] .article-content td{border-color:#3a332a}
[data-theme="dark"] .article-content blockquote{
  background:rgba(201,162,106,.08);
  border-left-color:#c9a26a;
}

[data-theme="dark"] .perms-table th{color:#998a75}
[data-theme="dark"] .perms-table td{border-bottom-color:#3a332a}
[data-theme="dark"] .perm-toggle{
  background:#2a241c;
  border-color:#3a332a;
  color:#998a75;
}
[data-theme="dark"] .perm-toggle.on{
  background:rgba(201,162,106,.15);
  color:#e8c48f;
  border-color:#c9a26a;
}

[data-theme="dark"] .menu-sim-select{
  background:#2a241c;
  border-color:#3a332a;
  color:#e8dcc8;
}

@media (min-width: 960px){
  .site-sidebar{
    display:flex;
    top:var(--header-h);
    bottom:var(--footer-h);
  }
  .site-aside-right{
    display:flex;
    top:var(--header-h);
    bottom:var(--footer-h);
  }
  .menu-btn{display:none}
  .menu-panel{display:none !important}
  #app{left:var(--sidebar-w); right:var(--sidebar-w)}
}

@media (max-width: 640px){
  :root{
    --pad:16px;
    --content-pad:12px;
    --header-h:56px;
    --footer-h:50px;
    --tile-h:clamp(76px, 10vh, 92px);
  }

  .site-header {
    display: grid;
    grid-template-columns: auto 1fr auto;
    justify-content: stretch;
    gap: 8px;
    padding: 0 10px;
  }
  .menu-btn, .account-btn {
    position: static;
    transform: none;
    width: 36px;
    height: 36px;
  }
  .menu-btn { justify-self: start; font-size: 15px; }
  .account-btn { justify-self: end; }
  .account-btn svg { width: 18px; height: 18px; }

  .brand {
    width: 100%;
    align-items: center;
    text-align: center;
    min-width: 0;
  }
  .brand-top { font-size: 8px; letter-spacing: .08em; }
  .brand-name { font-size: 10px; letter-spacing: .05em; white-space: normal; line-height: 1.2; }

  .page-head { padding: 8px var(--content-pad) 6px; gap: 4px; }
  .item-body { padding: 12px var(--content-pad) 30px; }
  .invitations-body { padding-top: 8px; }
  .block { padding: 16px 14px; }
  .block-label {
    letter-spacing: .1em;
    font-size: 10px;
    margin-bottom: 8px;
    min-height: 31px;
    padding-bottom: 6px;
  }
  .block h2 { margin-bottom: 10px; }
  .block p { font-size: 14px; line-height: 1.65; margin-bottom: 10px; }
  .block-meta { margin-top: 14px; padding-top: 12px; }

  .breadcrumbs { font-size: 11px; line-height: 1.3; }
  .page-title { font-size: clamp(15px, 4vw, 18px); line-height: 1.3; }

  .tile { padding: 0 16px 0 12px; gap: 12px; border-radius: 12px; }
  .tile-lg { padding: 0 18px 0 14px; gap: 14px; }
  .tile-title { font-size: clamp(14px, 3.6vw, 17px); }
  .tile-lg .tile-title { font-size: clamp(15px, 3.8vw, 18px); }
  .tile-sub { font-size: 11px; }
  .rule-icon { width: 32px; height: 32px; }
  .tile-lg .rule-icon { width: 38px; height: 38px; }
  .home-list { gap: 10px; padding: 12px var(--content-pad) 18px; }
  .home-about { padding: 16px 14px; font-size: 14px; line-height: 1.7; }
  .list { padding-top: 12px; }
  .pair-item { font-size: 13px; padding: 8px 12px; }
  .suggested-toggle { padding: 14px 16px; font-size: 14px; }

  .back-btn { padding: 9px 12px; }
  .back-label { display: none; }
  .footer-center-btn {
    padding: 8px 16px;
    font-size: 12px;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
  }
  .publish-btn { padding: 8px 12px; font-size: 12px; }

  .profile-card { padding: 20px 16px; gap: 16px; flex-direction: column; align-items: flex-start; }
  .avatar-portrait { width: 90px; }
  .form-card { padding: 20px 16px; }
  .action-btn { padding: 16px 18px; gap: 12px; }
  .action-icon { width: 38px; height: 38px; font-size: 18px; }
  .action-title { font-size: 15px; }
  .group-choice { padding: 20px 14px; font-size: 16px; }
  .search-row { grid-template-columns: 1fr; }
  .duel-actions .btn { padding: 11px 22px; font-size: 14px; }
  .theme-card { padding: 18px 16px; }
  .theme-toggle { width: 100%; justify-content: center; }
  .theme-option { flex: 1; text-align: center; }

  .member-avatar { width: 34px; font-size: 11px; border-radius: 5px; }
  .member-link { padding: 10px 14px; gap: 12px; }

  .menu-panel a { padding: 14px 10px; }
  .menu-panel .menu-sep { margin: 6px 10px; }
  .site-sidebar a { padding: 14px 14px; }
  .site-sidebar .menu-sep { margin: 6px 4px; }
}