/* WLSA Plus Forum — X 风格界面。无内联样式(CSP: style-src 'self')。 */
:root{
  --bg:#000;--tx:#e7e9ea;--sec:#7a7f84;--bd:#2f3336;--ac:#1d9bf0;--act:#1d9bf0;
  --fill:#1a78cc;--fill-h:#1569b3;--ac-bg:rgba(29,155,240,.12);
  --hov:rgba(231,233,234,.03);--hov2:rgba(231,233,234,.1);--hdr:rgba(0,0,0,.65);--pop:#16181c;
  --danger:#f4212e;--danger-t:#ff6b75;--ok:#00ba7c;--warn:#ffd400;--anon-bg:#2f3336;--shadow:0 0 15px rgba(101,119,134,.2);
  --sk1:#16181c;--sk2:#2a2d31;
  color-scheme:dark;
}
[data-theme=dim]{--bg:#15202b;--tx:#f7f9f9;--sec:#8b98a5;--bd:#38444d;--hov:rgba(247,249,249,.03);--hov2:rgba(247,249,249,.1);
  --hdr:rgba(21,32,43,.7);--pop:#1e2732;--anon-bg:#38444d;--sk1:#1e2732;--sk2:#2c3b49;color-scheme:dark}
[data-theme=light]{--bg:#fff;--tx:#0f1419;--sec:#536471;--bd:#eff3f4;--act:#0b6dba;--ac-bg:rgba(11,109,186,.1);--hov:rgba(0,0,0,.03);--hov2:rgba(15,20,25,.1);
  --hdr:rgba(255,255,255,.85);--pop:#f7f9f9;--warn:#a07400;--anon-bg:#cfd9de;--danger-t:#c4161f;--ok:#007a52;--sk1:#eff3f4;--sk2:#e1e8eb;color-scheme:light}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);min-height:100vh;
  font:15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC","Noto Sans SC",system-ui,sans-serif;
  -webkit-font-smoothing:antialiased}
a{color:var(--act);text-decoration:none}a:hover{text-decoration:underline}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--ac);outline-offset:2px}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ic{width:1.5em;height:1.5em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.skip{position:absolute;left:8px;top:-60px;background:var(--fill);color:#fff;font-weight:700;padding:8px 14px;border-radius:999px;z-index:100}
.skip:focus{top:8px}

/* ---- 布局:手机(默认)底部标签栏;≥700 左侧窄栏;≥1000 宽侧栏;≥1200 右栏 ---- */
.app{display:flex;justify-content:center;min-height:100vh}
.main{width:100%;min-width:0;min-height:100vh;padding-bottom:calc(70px + env(safe-area-inset-bottom))}
.right{display:none}
.side{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--hdr);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-top:1px solid var(--bd);padding-bottom:env(safe-area-inset-bottom)}
.logo{display:none}
.nav{display:flex;justify-content:space-around;align-items:center}
.nav-item{display:flex;align-items:center;justify-content:center;gap:20px;min-width:48px;height:52px;padding:0 12px;border:0;background:none;
  color:var(--tx);font-size:20px;text-decoration:none;border-radius:999px;font-weight:400;cursor:pointer}
.nav-item:hover{background:var(--hov2);text-decoration:none}
.nav-item.on{font-weight:700}
.nav-item.on .ic{stroke-width:2.6}
.nav-item span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav-post{display:none}
.fab{position:fixed;right:16px;bottom:calc(68px + env(safe-area-inset-bottom));z-index:25;width:56px;height:56px;border-radius:50%;
  background:var(--fill);color:#fff;border:0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.4);font-size:22px}
.fab:hover{background:var(--fill-h);text-decoration:none}
.fab .ic{stroke-width:2.4}

@media (min-width:700px){
  .main{max-width:600px;border-left:1px solid var(--bd);border-right:1px solid var(--bd);padding-bottom:0}
  .side{position:sticky;top:0;left:auto;right:auto;bottom:auto;height:100vh;width:88px;flex:none;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;
    border-top:0;padding:0 4px;display:flex;flex-direction:column;align-items:center}
  .logo{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:2px 0 4px;border-radius:50%;text-decoration:none}
  .logo img{display:block}
  .logo:hover{background:var(--hov2);text-decoration:none}
  .nav{flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;width:100%}
  .nav-item{width:52px;height:52px;padding:0}
  .nav-post{display:flex;background:var(--fill);color:#fff;margin-top:12px;width:52px;height:52px;font-weight:700}
  .nav-post:hover{background:var(--fill-h)}
  .fab{display:none}
}
@media (min-width:1000px){
  .side{width:275px;align-items:flex-start;padding:0 12px}
  .logo{margin-left:0}
  .nav{align-items:flex-start}
  .nav-item{width:auto;padding:0 20px 0 14px;justify-content:flex-start;max-width:100%}
  .nav-item span{position:static;width:auto;height:auto;overflow:visible;clip:auto;margin-right:4px}
  .nav-post{width:90%;max-width:230px;height:52px;justify-content:center;font-size:17px;font-weight:800;padding:0}
  .nav-post .ic{display:none}
}
@media (min-width:1200px){
  .right{display:block;width:300px;flex:none;margin-left:28px;padding-top:6px}
  .rcard:first-child{position:sticky;top:6px}
}
.rcard{display:block;background:var(--pop);border-radius:16px;padding:14px 16px;color:var(--tx);margin:0 0 14px}
a.rcard:hover{text-decoration:none;background:var(--hov2)}
.rcard h2{font-size:20px;margin:0 0 8px}
.rcard p,.rcard li{font-size:14px;color:var(--sec);line-height:1.6;margin:0 0 6px}
.rcard ul{margin:0;padding-left:18px}
.rcard b{color:var(--tx)}
.spark{color:var(--ac)}

/* ---- 顶栏 ---- */
.head{position:sticky;top:0;z-index:20;background:var(--hdr);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--bd);padding-top:env(safe-area-inset-top)}
.head-in{display:flex;align-items:center;gap:12px;min-height:53px;padding:0 16px}
.head h1{margin:0;font-size:20px;line-height:24px;font-weight:800;letter-spacing:.2px}
.head-sub{color:var(--sec);font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}
.head h1{white-space:nowrap;flex:0 0 auto}
@media (max-width:420px){.head-sub{font-size:12px}.head h1{font-size:18px}.brandhero b{font-size:20px}}
.head-mark{width:30px;height:30px;display:block}
@media (min-width:700px){.head-mark{display:none}}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:-8px;border-radius:50%;border:0;background:none;color:var(--tx);text-decoration:none;cursor:pointer}
.iconbtn:hover{background:var(--hov2);text-decoration:none}
.textbtn{margin-left:auto;border:1px solid var(--bd);background:none;border-radius:999px;padding:6px 14px;font-weight:700;font-size:14px;color:var(--tx)}
.textbtn:hover{background:var(--hov2)}

/* ---- 头像 ---- */
.avatar{flex:none;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--anon-bg);color:var(--sec);font-weight:700;font-size:18px;line-height:1;overflow:hidden;user-select:none}
.avatar .ic{width:24px;height:24px;fill:currentColor;stroke:none}
.avatar[class*=" av-"]{color:#fff}
.av-0{background:#1a73c8}.av-1{background:#6b46c1}.av-2{background:#c2185b}.av-3{background:#b45309}
.av-4{background:#0a7d58}.av-5{background:#8e44ad}.av-6{background:#0e7490}.av-7{background:#9a3412}
.ai-av{background:#000;color:#4cb8ff;border:1px solid var(--bd);font-size:20px}

/* ---- 发帖框 ---- */
.composer{display:flex;gap:12px;padding:14px 16px 8px;border-bottom:1px solid var(--bd)}
.cbody{flex:1;min-width:0;position:relative}
.composer textarea{display:block;width:100%;min-height:52px;max-height:50vh;padding:10px 0;border:0;outline:0;background:transparent;resize:none;
  font-size:20px;line-height:1.35;color:var(--tx);overflow-y:auto}
.composer textarea::placeholder,.field input::placeholder,.chatbox textarea::placeholder{color:var(--sec);opacity:1}
.fields{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}
.field{flex:1 1 180px;max-width:280px;display:flex;align-items:center;gap:8px;min-width:0;border:1px solid var(--bd);border-radius:999px;padding:0 14px;color:var(--sec);font-size:14px;height:38px}
.field:focus-within{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.field span{flex:none}
.field input{flex:1;min-width:0;width:100%;border:0;outline:0;background:transparent;font-size:16px;color:var(--tx);padding:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ctool{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--bd);margin-top:8px;padding-top:10px}
.hint{color:var(--sec);font-size:13px;min-width:0}
.cright{display:flex;align-items:center;gap:12px;flex:none}
.counter{display:inline-flex;align-items:center;gap:8px;visibility:hidden}
.counter.on{visibility:visible}
.ring{width:26px;height:26px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:2.5}
.ring .trk{stroke:var(--bd)}
.ring .bar{stroke:var(--ac);stroke-linecap:round}
.counter.warn .bar{stroke:var(--warn)}.counter.over .bar{stroke:var(--danger)}
.cnum{font-size:13px;color:var(--sec);min-width:2ch;text-align:right}
.counter.over .cnum{color:var(--danger-t)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 18px;border:0;border-radius:999px;background:var(--fill);
  color:#fff;font-weight:800;font-size:15px;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}
.btn:hover{background:var(--fill-h);text-decoration:none}
.btn:disabled{opacity:.55;cursor:default}
.btn:disabled:hover{background:var(--fill)}
.btn.block{display:flex;width:100%;min-height:48px;font-size:16px}
.msg{min-height:0;margin:6px 0 4px;font-size:14px}.msg:empty{display:none}
.msg.err{color:var(--danger-t)}.msg.ok{color:var(--ok)}
.gate{align-items:center;padding-bottom:14px}
.gate .cbody{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}
.gate-t{margin:0;font-size:17px;font-weight:700}
.gate p{margin:2px 0 0;color:var(--sec);font-size:14px}
.gate .gtext{flex:1 1 220px}
.err-note{color:var(--danger-t)!important}.err-note:empty{display:none}

/* ---- 动态卡片 ---- */
.post{display:flex;gap:12px;padding:12px 16px 4px;border-bottom:1px solid var(--bd);transition:background-color .15s;animation:fade .3s ease}
.post:hover{background:var(--hov)}
.pbody{flex:1;min-width:0}
.phead{display:flex;align-items:baseline;gap:4px;min-width:0;line-height:20px}
.name{font-weight:700;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.dot,.ptime{color:var(--sec);flex:none;font-size:15px}
.post .body{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font-size:15px;line-height:20px;margin-top:2px}
.pactions{display:flex;gap:4px;margin:4px 0 0 -8px}
.pact{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 10px;border:0;border-radius:999px;background:none;color:var(--sec);font-size:13px}
.pact .ic{width:18px;height:18px}
.pact:hover,.pact[aria-expanded=true]{color:var(--act);background:var(--ac-bg)}
.pact.ai .gl{font-size:15px;line-height:1}

/* ---- AI 解释面板 ---- */
.aipanel{margin:6px 0 10px;border:1px solid var(--bd);border-radius:16px;background:var(--pop);padding:12px 14px;animation:fade .2s ease}
.aipanel-h{display:flex;align-items:center;gap:8px;font-weight:800;font-size:14px}
.aipanel-h .gl{color:var(--ac)}
.aipanel-h .x{margin-left:auto;width:28px;height:28px;border:0;border-radius:50%;background:none;color:var(--sec);font-size:16px;line-height:1}
.aipanel-h .x:hover{background:var(--hov2);color:var(--tx)}
.aitext{white-space:pre-wrap;word-break:break-word;font-size:15px;line-height:1.55;margin:8px 0 6px}
.aitext.err{color:var(--danger-t)}
.aifoot{display:flex;align-items:center;gap:10px;color:var(--sec);font-size:12px;flex-wrap:wrap}
.aifoot .linkbtn{font-size:13px;font-weight:700}
.sk-lines{margin:10px 0 4px}

/* ---- 骨架屏 / 空状态 ---- */
.sk-post{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--bd)}
.sk-av,.sk-line{background:linear-gradient(90deg,var(--sk1),var(--sk2),var(--sk1));background-size:200% 100%;animation:shim 1.3s linear infinite}
.sk-av{width:40px;height:40px;border-radius:50%;flex:none}
.sk-col{flex:1;min-width:0}
.sk-line{height:12px;border-radius:6px;margin:8px 0}
.w30{width:30%}.w60{width:60%}.w90{width:90%}.w45{width:45%}
.empty{text-align:center;padding:48px 24px;color:var(--sec)}
.empty .ic{width:44px;height:44px;margin:0 auto 12px;display:block;opacity:.7}
.empty p{margin:0 0 4px;font-size:15px}
.empty .empty-t{font-size:20px;font-weight:800;color:var(--tx)}
.status{text-align:center;color:var(--sec);margin:0;padding:24px 16px;font-size:15px}
.status.err{color:var(--danger-t)}
.more{display:block;width:100%;padding:16px;border:0;border-bottom:1px solid var(--bd);background:none;color:var(--act);font-size:15px;font-weight:600;text-align:left}
.more:hover{background:var(--hov)}
.more:disabled{color:var(--sec);cursor:default}
.note{padding:16px;color:var(--sec);font-size:13px;text-align:center;line-height:1.7}
.srv{word-break:break-all}
.toast{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;background:var(--fill);color:#fff;font-weight:700;
  padding:10px 18px;border-radius:10px;font-size:15px;box-shadow:var(--shadow);max-width:90vw;animation:fade .15s ease}
.toast.err{background:#c4161f}
@media (min-width:700px){.toast{bottom:32px}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes shim{from{background-position:200% 0}to{background-position:-200% 0}}

/* ---- AI 助手(聊天) ---- */
#aiview{display:flex;flex-direction:column;min-height:calc(100vh - 54px - 70px - env(safe-area-inset-bottom))}
@media (min-width:700px){#aiview{min-height:calc(100vh - 54px)}}
.chatlog{flex:1;padding:8px 16px 16px}
.chatintro{text-align:center;padding:28px 8px 8px}
.ai-hero{width:64px;height:64px;margin:0 auto 12px;border-radius:18px;background:#000;border:1px solid var(--bd);color:#4cb8ff;font-size:32px;display:flex;align-items:center;justify-content:center}
.chatintro h2{margin:0 0 6px;font-size:24px;font-weight:800}
.chatintro p{margin:0 auto 16px;color:var(--sec);max-width:34ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.chip{border:1px solid var(--bd);background:none;border-radius:999px;padding:8px 14px;font-size:14px;color:var(--tx);min-height:36px}
.chip:hover{background:var(--hov2);border-color:var(--ac)}
.msgrow{display:flex;margin:14px 0;animation:fade .2s ease}
.msgrow.user{justify-content:flex-end}
.bubble{max-width:85%;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font-size:15px;line-height:1.55;padding:10px 14px;border-radius:18px}
.msgrow.user .bubble{background:var(--fill);color:#fff;font-weight:600;border-bottom-right-radius:6px}
.msgrow.ai{gap:10px;align-items:flex-start}
.msgrow.ai .avatar{width:32px;height:32px;font-size:16px}
.msgrow.ai .bubble{padding:4px 0;max-width:calc(100% - 44px)}
.msgrow.ai .bubble.err{color:var(--danger-t)}
.typing{display:inline-flex;gap:5px;padding:10px 0}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--sec);animation:blink 1.2s infinite ease-in-out}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.chatbar{position:sticky;bottom:calc(52px + env(safe-area-inset-bottom));background:var(--bg);padding:8px 16px 4px;border-top:1px solid var(--bd);z-index:15}
@media (min-width:700px){.chatbar{bottom:0;padding-bottom:6px}}
.chatbox{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--bd);border-radius:24px;padding:6px 6px 6px 16px;background:var(--pop)}
.chatbox:focus-within{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac)}
.chatbox textarea{flex:1;min-width:0;border:0;outline:0;background:transparent;resize:none;font-size:16px;line-height:1.4;padding:7px 0;max-height:160px;color:var(--tx)}
.sendbtn{flex:none;width:38px;height:38px;border-radius:50%;border:0;background:var(--fill);color:#fff;display:flex;align-items:center;justify-content:center}
.sendbtn .ic{width:20px;height:20px;stroke-width:3}
.sendbtn:hover{background:var(--fill-h)}
.sendbtn:disabled{opacity:.45;cursor:default}
.disc{margin:6px 0 2px;text-align:center;color:var(--sec);font-size:12px}

/* ---- 登录页 ---- */
.panel{padding:16px}
.brandhero{display:flex;align-items:center;gap:14px;margin:4px 0 18px}
.brandhero img{display:block}
.brandhero b{display:block;font-size:22px;font-weight:800}
.brandhero span{color:var(--sec);font-size:14px}
.notice{border:1px solid var(--bd);background:var(--pop);border-radius:16px;padding:12px 16px;font-size:14px;line-height:1.65;color:var(--sec);margin:0 0 20px}
.notice b{color:var(--tx)}
.notice ul{margin:6px 0 0;padding-left:20px}
.tf{display:block;position:relative;margin:0 0 18px;border:1px solid var(--bd);border-radius:6px;padding:8px 12px 6px;color:var(--sec);font-size:13px}
.tf:focus-within{border-color:var(--ac);box-shadow:0 0 0 1px var(--ac);color:var(--act)}
.tf input{display:block;width:100%;margin-top:2px;padding:2px 0;border:0;outline:0;background:transparent;color:var(--tx);font-size:17px}
.loginform .alt{margin:18px 0 0;text-align:center;font-size:14px}
.linkbtn{background:none;border:0;padding:0;color:var(--act);font-size:inherit;cursor:pointer}
.linkbtn:hover{text-decoration:underline}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---- 页脚署名(低调灰色;在 .main 内,底部导航栏之上,不遮挡) ---- */
.credit{padding:22px 16px 18px;text-align:center;color:var(--sec);font-size:12px;line-height:1;letter-spacing:.3px;opacity:.75;user-select:none}
.credit a{color:inherit;text-decoration:none}.credit a:hover{color:var(--tx);text-decoration:underline}
.credit{user-select:auto}
/* 反馈页 */
.fb-kind{border:0;margin:0 0 14px;padding:0;display:flex;gap:10px}
.fb-opt{cursor:pointer}.fb-opt input{position:absolute;opacity:0;width:1px;height:1px}
.fb-opt span{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border:1px solid var(--bd);border-radius:999px;font-weight:700;font-size:14px;color:var(--sec)}
.fb-opt input:checked+span{border-color:var(--ac);color:var(--tx);background:var(--ac-bg)}
.fb-opt input:focus-visible+span{outline:2px solid var(--ac);outline-offset:2px}
.tf textarea{display:block;width:100%;margin-top:4px;padding:2px 0;border:0;outline:0;background:transparent;color:var(--tx);font-size:16px;resize:vertical;font-family:inherit;line-height:1.5}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.pact.rep:hover{color:var(--danger-t);background:rgba(244,33,46,.1)}

/* ---- 图片 / 视频 ---- */
.mbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;border-radius:50%;background:none;color:var(--act)}
.mbtn:hover{background:var(--ac-bg)}.mbtn .ic{width:20px;height:20px}
.mprev{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0}
.mp{position:relative;width:96px;height:96px;border-radius:12px;overflow:hidden;border:1px solid var(--bd);background:#000}
.mp img,.mp video{width:100%;height:100%;object-fit:cover;display:block}
.mp.bad{border-color:var(--danger)}
.mp-bar{position:absolute;left:0;right:0;bottom:0;padding:2px 4px;font-size:11px;line-height:16px;text-align:center;color:#fff;background:rgba(0,0,0,.65)}
.mp-x{position:absolute;top:4px;right:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;font-size:12px;line-height:22px;padding:0}
.mgrid{display:grid;gap:2px;margin:10px 0 2px;border:1px solid var(--bd);border-radius:16px;overflow:hidden;background:var(--bd);max-width:100%}
.mgrid img,.mgrid video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.mgrid.n1{grid-template-columns:1fr}.mgrid.n1 img{max-height:520px;height:auto;object-fit:contain}
.mgrid.n1 video{max-height:520px;height:auto;aspect-ratio:16/9;object-fit:contain}
.mgrid.n2,.mgrid.n3,.mgrid.n4{grid-template-columns:1fr 1fr;aspect-ratio:16/9}
.mgrid.n3 > :first-child{grid-row:span 2}
.mgrid.n4{grid-template-rows:1fr 1fr}
.mlock{display:flex;align-items:center;justify-content:center;min-height:120px;padding:12px;background:var(--pop);color:var(--sec);font-size:14px;text-align:center;border:0}
button.mplay{cursor:pointer;color:var(--act)}

/* ---- 投稿 / 查询投稿 ---- */
.subprev{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.subprev .mp{width:30%;max-width:140px;height:auto;aspect-ratio:1}
.subcode{margin:10px 0;font-size:34px;font-weight:800;letter-spacing:.14em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--tx);word-break:break-all;user-select:all}
.subdone .btn{margin:4px 6px 0 0}
.stbadge{display:inline-block;margin:0 0 6px;padding:4px 14px;border-radius:999px;border:1px solid var(--bd);font-weight:800}
.stbadge.approved{color:var(--ok);border-color:var(--ok)}.stbadge.rejected{color:var(--danger-t);border-color:var(--danger)}
.stbody{margin:10px 0;padding:12px;border:1px solid var(--bd);border-radius:12px}
#subadd{margin-bottom:12px}
.mgrid.n5,.mgrid.n6,.mgrid.n7,.mgrid.n8,.mgrid.n9{grid-template-columns:repeat(3,1fr)}
.mgrid.n5 img,.mgrid.n6 img,.mgrid.n7 img,.mgrid.n8 img,.mgrid.n9 img{aspect-ratio:1}
.adm-ghost{background:transparent;border:1px solid var(--bd);color:var(--tx)}
.adm-ghost:hover{background:var(--hov2)}
