/* ═══ B平台加载动画适配（自动注入）═══ */
.flex.items-center.justify-center.size-6 { opacity: 1 !important; }
.flex.items-center.justify-center.size-6 > .flex.gap-2 { display: none !important; }

/* ═══ B平台表格修正（自动注入）═══ */
.rili-markdown-renderer table { display:table!important; table-layout:auto!important; width:100%!important; border-collapse:collapse!important; }
.rili-markdown-renderer table caption { display:table-caption!important; caption-side:top!important; text-align:center!important; padding:8px!important; }
.rili-markdown-renderer thead { display:table-header-group!important; }
.rili-markdown-renderer tbody { display:table-row-group!important; }
.rili-markdown-renderer tr { display:table-row!important; }
.rili-markdown-renderer th, .rili-markdown-renderer td { display:table-cell!important; }

/* ═══ B平台按钮组保护（自动注入 — 防止按钮消失）═══
   原理：B平台消息操作按钮结构为：
   .flex.items-center.gap-1.ml-auto (hover显隐包装)
     └── .bg-muted.rounded.flex.p-0.5 (按钮组容器)
           └── button.rounded-full.size-7 (单个按钮)
   以下规则使用高specificity + !important确保按钮
   不被任何转换后/透传的CSS规则意外隐藏
   ═══════════════════════════════════════════════ */
/* 按钮组容器保护 */
.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\.5,
.is-user .bg-muted.rounded.flex.p-0\.5,
.is-assistant .bg-muted.rounded.flex.p-0\.5 {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  position: relative !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  pointer-events: auto !important;
  clip: auto !important;
  clip-path: none !important;
}
/* 单个按钮保护 */
.w-full.h-full.flex.group .bg-muted.rounded.flex.p-0\.5 > button,
.is-user .bg-muted.rounded.flex.p-0\.5 > button,
.is-assistant .bg-muted.rounded.flex.p-0\.5 > button {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: relative !important;
  clip: auto !important;
  clip-path: none !important;
}
/* hover显隐包装层保护 — 仅保留B平台原生的opacity过渡 */
.flex.items-center.gap-1.ml-auto.md\:opacity-0.group-hover\:opacity-100 {
  visibility: visible !important;
  display: flex !important;
  pointer-events: auto !important;
  overflow: visible !important;
}
/* 操作行保护 */
.flex.w-full.items-center.justify-between.gap-2.px-2 {
  display: flex !important;
  visibility: visible !important;
  overflow: visible !important;
}

/* ═══ B平台顶部栏适配说明（自动注入）═══
   A: div.sticky > div.flex.justify-between
      ├── 左侧空区
      ├── #ai-model-selector (居中)
      └── 右侧工具(设置按钮等)
   B: <header.flex.justify-between>
      ├── #nav-left (侧边栏开关)
      ├── #nav-middle (可能为空)
      └── #nav-right (通知/主题/语言)
   B平台模型按钮不在header内，选择器:
   button:has(> .flex-1.truncate.text-left)
   ═══════════════════════════════════════ */
header.flex.justify-between { position: relative; overflow: visible; }

/* [B平台无独立头像元素]
.mb-2 > div.shrink-0.w-10.h-10.relative.bg-white.rounded-full.block.md\:block {
  display: none !important;
}
*/

.mb-2 > div.shrink-0.relative.w-10.h-10/* .bg-gray-100\/90.rounded-full [B平台无头像] */.rounded-full.block.md\:block {
  visibility: hidden !important;
}

.absolute.top-0.MuiBox-root {
  background:transparent;
}

.is-assistant.mr-2 {
  margin-right: 0rem;
}

.group .px-4 {
  padding-left: 0.1rem;
  padding-right: 0.1rem;
}

/* ═══ JK-METRO v6.3 ═══ */

.jk {
  position:relative;width:100%;max-width:660px;margin:24px auto;font-family:"Yu Gothic UI","Hiragino Sans","Noto Sans JP",sans-serif;font-feature-settings:"palt" 1;color:#22242c
}

.jk * {
  box-sizing:border-box
}

.jk input[name^=hs] {
  position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none;clip:rect(0 0 0 0)
}

/* ─── 舞台：背景叠层 = 渐变纸纹 + 网格 + 左下角L + 右上角L + 底部装饰带 + 主底色 ─── */

.jk stage {
  position:relative;display:block;border:1px solid #c8b98e;border-radius:4px;min-height:500px;overflow:hidden;
  box-shadow:0 16px 28px rgba(30,45,90,.25),0 2px 4px rgba(0,0,0,.12),inset 0 0 0 3px #fff,inset 0 0 0 4px #c8b98e,inset 0 0 40px rgba(108,122,156,.08);
  background:
  linear-gradient(135deg,rgba(255,255,255,.65),rgba(248,243,228,.45)),
  repeating-linear-gradient(0deg,rgba(120,110,90,.05) 0 1px,transparent 1px 28px),
  repeating-linear-gradient(90deg,rgba(120,110,90,.04) 0 1px,transparent 1px 28px),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'><g fill='none' stroke='%234a5fa8' stroke-width='2.2' stroke-linecap='square'><path d='M4 26V4h22'/></g><rect x='2.4' y='2.4' width='3.6' height='3.6' fill='%23c23b4a'/><rect x='24' y='2.4' width='4' height='3.6' fill='%2300aba9'/><rect x='2.4' y='24' width='3.6' height='4' fill='%23e3a21a'/><circle cx='10' cy='4' r='1.4' fill='%234a5fa8'/><circle cx='4' cy='10' r='1.4' fill='%234a5fa8'/></svg>"),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'><g fill='none' stroke='%234a5fa8' stroke-width='2.2' stroke-linecap='square'><path d='M32 10v22H10'/></g><rect x='30' y='30' width='3.6' height='3.6' fill='%23c23b4a'/><rect x='30' y='8' width='3.6' height='4' fill='%2300aba9'/><rect x='8' y='30' width='4' height='3.6' fill='%23e3a21a'/><circle cx='26' cy='32' r='1.4' fill='%234a5fa8'/><circle cx='32' cy='26' r='1.4' fill='%234a5fa8'/></svg>"),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 660 44' preserveAspectRatio='none'><defs><pattern id='dt' width='8' height='8' patternUnits='userSpaceOnUse'><circle cx='1.2' cy='1.2' r='1' fill='%23c8b98e' opacity='.5'/></pattern><g id='petal'><path d='M0 -10 C 3.2 -7 3.2 -3 1.6 -1 C .6 .2 -.6 .2 -1.6 -1 C -3.2 -3 -3.2 -7 0 -10 Z' fill='%23ffd6df' stroke='%23c23b4a' stroke-width='.9' stroke-linejoin='round'/><path d='M0 -9 C 1 -6 1 -3 0 -1.5' stroke='%23c23b4a' stroke-width='.5' fill='none' opacity='.6'/></g></defs><rect width='660' height='44' fill='url(%23dt)'/><g><rect x='18' y='14' width='16' height='16' fill='%2300aba9'/><rect x='38' y='14' width='16' height='16' fill='%23e3a21a'/><rect x='58' y='14' width='16' height='16' fill='%23da532c'/><rect x='78' y='14' width='16' height='16' fill='%23825a2c'/><rect x='98' y='14' width='16' height='16' fill='%23603cba'/><rect x='118' y='14' width='16' height='16' fill='%232b5797'/><rect x='138' y='14' width='16' height='16' fill='%234d8f3c'/></g><g fill='none' stroke='%233a4665' stroke-width='1.2' opacity='.5'><path d='M170 22h140' stroke-dasharray='2 3'/><path d='M360 22h140' stroke-dasharray='2 3'/></g><g transform='translate(335 22)'><circle r='3' fill='%23c23b4a'/><circle r='6' fill='none' stroke='%233a4665' stroke-width='1.1' opacity='.55'/><circle r='9' fill='none' stroke='%233a4665' stroke-width='.8' opacity='.35' stroke-dasharray='1.5 2'/></g><g transform='translate(560 22)' opacity='.85'><rect x='-8' y='-8' width='7' height='7' fill='%2300aba9'/><rect x='1' y='-8' width='7' height='7' fill='%23e3a21a'/><rect x='-8' y='1' width='7' height='7' fill='%23603cba'/><rect x='1' y='1' width='7' height='7' fill='%234d8f3c'/></g><g transform='translate(615 22)'><circle r='14' fill='none' stroke='%23c23b4a' stroke-width='.6' opacity='.35' stroke-dasharray='1 2'/><use href='%23petal' transform='rotate(0)'/><use href='%23petal' transform='rotate(72)'/><use href='%23petal' transform='rotate(144)'/><use href='%23petal' transform='rotate(216)'/><use href='%23petal' transform='rotate(288)'/><circle r='2.2' fill='%23ffeb8a' stroke='%23c89a2a' stroke-width='.6'/><g stroke='%23c89a2a' stroke-width='.5' stroke-linecap='round' fill='none'><path d='M0 0 L0 -2.8'/><path d='M0 0 L2.66 -.86'/><path d='M0 0 L1.65 2.26'/><path d='M0 0 L-1.65 2.26'/><path d='M0 0 L-2.66 -.86'/></g><circle r='.6' fill='%23c89a2a' transform='translate(0 -2.8)'/><circle r='.6' fill='%23c89a2a' transform='translate(2.66 -.86)'/><circle r='.6' fill='%23c89a2a' transform='translate(1.65 2.26)'/><circle r='.6' fill='%23c89a2a' transform='translate(-1.65 2.26)'/><circle r='.6' fill='%23c89a2a' transform='translate(-2.66 -.86)'/></g></svg>"),
  radial-gradient(circle at 15% 10%,#fffef8 0%,#f4ecd6 55%,#e8ddb9 100%);
  background-repeat:no-repeat,repeat,repeat,no-repeat,no-repeat,no-repeat,no-repeat;
  background-size:auto,auto,auto,36px 36px,36px 36px,100% 44px,auto;
  background-position:0 0,0 0,0 0,12px 60px,right 12px bottom 56px,bottom,0 0
}

section.jk stage {
  border:1px solid var(--jk-border,#c8b98e);
  box-shadow:
  0 16px 28px var(--jk-shadow,rgba(30,45,90,.25)),
  0 2px 4px rgba(0,0,0,.12),
  inset 0 0 0 3px #fff,
  inset 0 0 0 4px var(--jk-border,#c8b98e),
  inset 0 0 60px var(--jk-glow,rgba(108,122,156,.08));
}

section.jk header {
  background:var(--jk-header-bg,linear-gradient(180deg,#fdf8e8,#f6eed3));
  border-bottom:1px dashed var(--jk-header-line,#b8a878);
}

.jk stage::before {
  content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(0,0,0,.03) 1px,transparent 2px) 0 0/7px 7px,radial-gradient(circle at 70% 60%,rgba(0,0,0,.025) 1px,transparent 2px) 3px 4px/9px 9px;mix-blend-mode:multiply;pointer-events:none;opacity:.7;z-index:1
}

.jk stage::after {
  content:"";position:absolute;inset:-20px;pointer-events:none;background-image:radial-gradient(ellipse 6px 3px at 10px 10px,#ffc2d1 60%,transparent 70%),radial-gradient(ellipse 5px 2.5px at 40px 80px,#ffd4de 60%,transparent 70%),radial-gradient(ellipse 7px 3.5px at 80px 30px,#ff9fb5 60%,transparent 70%),radial-gradient(ellipse 4px 2px at 130px 120px,#ffcedb 60%,transparent 70%),radial-gradient(ellipse 6px 3px at 200px 60px,#ffb3c6 60%,transparent 70%);background-size:240px 200px;animation:jkFall 18s linear infinite;opacity:.5;z-index:1
}

@keyframes jkFall {
  0%{background-position:0 -200px,40px -280px,80px -240px,130px -340px,200px -260px}100%{background-position:60px 500px,100px 500px,140px 500px,190px 500px,260px 500px}
}

/* 顶栏 */

.jk header {
  position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:14px 18px 12px;background:linear-gradient(180deg,#fdf8e8,#f6eed3);border-bottom:1px dashed #b8a878;z-index:4
}

.jk header::before {
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:linear-gradient(90deg,#00aba9 0 14.28%,#e3a21a 14.28% 28.56%,#da532c 28.56% 42.84%,#825a2c 42.84% 57.12%,#603cba 57.12% 71.4%,#2b5797 71.4% 85.68%,#4d8f3c 85.68% 100%);border-radius:2px;opacity:.85
}

.jk header::after {
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#c8b98e
}

.jk header time,.jk header place {
  display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 9px;background:#fff;border:1px solid #c8b98e;border-radius:20px;font-size:12px;color:#3a4665;letter-spacing:1px;font-weight:600;box-shadow:0 2px 4px rgba(120,110,90,.15),inset 0 -2px 0 rgba(120,110,90,.06);transition:transform .25s
}

.jk header time:hover,.jk header place:hover {
  transform:translateY(-1px)
}

.jk header time::after {
  content:attr(v)
}

.jk header time::before {
  content:"";width:14px;height:14px;flex:none;border-radius:50%;background:#3a4665;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat
}

/* 早上 5:00-10:59 —— 朝日 */

.jk header time[v*=",5:"]::before,.jk header time[v*=",6:"]::before,.jk header time[v*=",7:"]::before,.jk header time[v*=",8:"]::before,.jk header time[v*=",9:"]::before,.jk header time[v*=",10:"]::before,.jk header time[v*=",05:"]::before,.jk header time[v*=",06:"]::before,.jk header time[v*=",07:"]::before,.jk header time[v*=",08:"]::before,.jk header time[v*=",09:"]::before {
  background:#f08a4a;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2 19h20' stroke='black' stroke-width='1.8' stroke-linecap='round' fill='none'/><path d='M12 9a6 6 0 0 0-6 6h12a6 6 0 0 0-6-6z' fill='black'/><g stroke='black' stroke-width='1.8' stroke-linecap='round' fill='none'><path d='M12 2v3'/><path d='M4.5 7l1.6 1.6'/><path d='M19.5 7l-1.6 1.6'/><path d='M1.5 12H4'/><path d='M20 12h2.5'/></g><path d='M3 22h3M9 22h2M14 22h3M20 22h2' stroke='black' stroke-width='1.4' stroke-linecap='round'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2 19h20' stroke='black' stroke-width='1.8' stroke-linecap='round' fill='none'/><path d='M12 9a6 6 0 0 0-6 6h12a6 6 0 0 0-6-6z' fill='black'/><g stroke='black' stroke-width='1.8' stroke-linecap='round' fill='none'><path d='M12 2v3'/><path d='M4.5 7l1.6 1.6'/><path d='M19.5 7l-1.6 1.6'/><path d='M1.5 12H4'/><path d='M20 12h2.5'/></g><path d='M3 22h3M9 22h2M14 22h3M20 22h2' stroke='black' stroke-width='1.4' stroke-linecap='round'/></svg>");
}

/* 夜 20:00-04:59 —— 弦月深蓝 */

.jk:has(header time:is([v*=",20:"],[v*=",21:"],[v*=",22:"],[v*=",23:"],[v*=",0:"],[v*=",1:"],[v*=",2:"],[v*=",3:"],[v*=",4:"],[v*=",00:"],[v*=",01:"],[v*=",02:"],[v*=",03:"],[v*=",04:"])) {
  --jk-border:#4a5a88;
  --jk-shadow:rgba(20,30,80,.5);
  --jk-glow:rgba(80,100,160,.28);
  --jk-header-bg:linear-gradient(180deg,#2a3656,#141d38);
  --jk-header-line:#4a5a88;
  --jk-drop:#7a9ae0;
  --jk-drop-shadow:rgba(40,60,120,.4);
  --jk-scroll:linear-gradient(180deg,#6a82c0,#1a2340);
}

/* 夕 17:00-19:59 —— 落日赤染 */

.jk:has(header time:is([v*=",17:"],[v*=",18:"],[v*=",19:"])) {
  --jk-border:#c87060;
  --jk-shadow:rgba(200,74,58,.35);
  --jk-glow:rgba(255,140,120,.25);
  --jk-header-bg:linear-gradient(180deg,#ffe4d8,#ffbca0);
  --jk-header-line:#c87060;
  --jk-drop:#a8302a;
  --jk-drop-shadow:rgba(168,48,42,.2);
  --jk-scroll:linear-gradient(180deg,#c84a3a,#6a1a14);
}

/* 午後 14:00-16:59 —— 琥珀微云 */

.jk:has(header time:is([v*=",14:"],[v*=",15:"],[v*=",16:"])) {
  --jk-border:#c8925a;
  --jk-shadow:rgba(232,133,42,.28);
  --jk-glow:rgba(230,170,100,.22);
  --jk-header-bg:linear-gradient(180deg,#fbefd8,#f3d9a8);
  --jk-header-line:#c8925a;
  --jk-drop:#a85a20;
  --jk-drop-shadow:rgba(168,90,32,.18);
  --jk-scroll:linear-gradient(180deg,#e8852a,#7a3a10);
}

/* 昼 11:00-13:59 —— 正午烈日 */

.jk:has(header time:is([v*=",11:"],[v*=",12:"],[v*=",13:"])) {
  --jk-border:#e0b040;
  --jk-shadow:rgba(245,184,0,.3);
  --jk-glow:rgba(255,220,120,.28);
  --jk-header-bg:linear-gradient(180deg,#fffbe0,#fff0a8);
  --jk-header-line:#e0b040;
  --jk-drop:#b8830f;
  --jk-drop-shadow:rgba(184,131,15,.2);
  --jk-scroll:linear-gradient(180deg,#f5b800,#8a6410);
}

/* 朝 5:00-10:59 —— 蜜桃朝日 */

.jk:has(header time:is([v*=",5:"],[v*=",6:"],[v*=",7:"],[v*=",8:"],[v*=",9:"],[v*=",10:"],[v*=",05:"],[v*=",06:"],[v*=",07:"],[v*=",08:"],[v*=",09:"])) {
  --jk-border:#d89968;
  --jk-shadow:rgba(240,138,74,.3);
  --jk-glow:rgba(255,180,120,.22);
  --jk-header-bg:linear-gradient(180deg,#fff4e0,#ffd8b0);
  --jk-header-line:#d89968;
  --jk-drop:#e06a2a;
  --jk-drop-shadow:rgba(224,106,42,.18);
  --jk-scroll:linear-gradient(180deg,#f08a4a,#a84a1a);
}

/* 中午 11:00-13:59 —— 烈日 */

.jk header time[v*=",11:"]::before,.jk header time[v*=",12:"]::before,.jk header time[v*=",13:"]::before {
  background:#f5b800;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='4.6' fill='black'/><g stroke='black' stroke-width='2' stroke-linecap='round'><path d='M12 1.5v3'/><path d='M12 19.5v3'/><path d='M1.5 12h3'/><path d='M19.5 12h3'/><path d='M4.6 4.6l2.1 2.1'/><path d='M17.3 17.3l2.1 2.1'/><path d='M4.6 19.4l2.1-2.1'/><path d='M17.3 6.7l2.1-2.1'/></g></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='4.6' fill='black'/><g stroke='black' stroke-width='2' stroke-linecap='round'><path d='M12 1.5v3'/><path d='M12 19.5v3'/><path d='M1.5 12h3'/><path d='M19.5 12h3'/><path d='M4.6 4.6l2.1 2.1'/><path d='M17.3 17.3l2.1 2.1'/><path d='M4.6 19.4l2.1-2.1'/><path d='M17.3 6.7l2.1-2.1'/></g></svg>");
}

/* 下午 14:00-16:59 —— 日带云 */

.jk header time[v*=",14:"]::before,.jk header time[v*=",15:"]::before,.jk header time[v*=",16:"]::before {
  background:#e8852a;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='8.5' cy='8.5' r='3.6' fill='black'/><g stroke='black' stroke-width='1.6' stroke-linecap='round' fill='none'><path d='M8.5 1.8v2.2'/><path d='M2 8.5h2.2'/><path d='M3.7 3.7l1.5 1.5'/><path d='M13.3 3.7l-1.5 1.5'/><path d='M2 13.5l1.5-1.5'/></g><path d='M9 19.5a3 3 0 0 1 0-6 4 4 0 0 1 7.5 1 3 3 0 0 1 1.5 5z' fill='black' opacity='.65'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='8.5' cy='8.5' r='3.6' fill='black'/><g stroke='black' stroke-width='1.6' stroke-linecap='round' fill='none'><path d='M8.5 1.8v2.2'/><path d='M2 8.5h2.2'/><path d='M3.7 3.7l1.5 1.5'/><path d='M13.3 3.7l-1.5 1.5'/><path d='M2 13.5l1.5-1.5'/></g><path d='M9 19.5a3 3 0 0 1 0-6 4 4 0 0 1 7.5 1 3 3 0 0 1 1.5 5z' fill='black' opacity='.65'/></svg>");
}

/* 傍晚 17:00-19:59 —— 落日 */

.jk header time[v*=",17:"]::before,.jk header time[v*=",18:"]::before,.jk header time[v*=",19:"]::before {
  background:#c84a3a;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2 17.5h20' stroke='black' stroke-width='1.8' stroke-linecap='round' fill='none'/><path d='M6 17.5a6 6 0 0 1 12 0z' fill='black'/><g stroke='black' stroke-width='1.6' stroke-linecap='round' fill='none'><path d='M12 6v2.6'/><path d='M5 10l1.5 1.5'/><path d='M19 10l-1.5 1.5'/><path d='M2 13.5h2.4'/><path d='M19.6 13.5H22'/></g><path d='M3 21h3M9 21h2M14 21h3M20 21h2' stroke='black' stroke-width='1.4' stroke-linecap='round'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2 17.5h20' stroke='black' stroke-width='1.8' stroke-linecap='round' fill='none'/><path d='M6 17.5a6 6 0 0 1 12 0z' fill='black'/><g stroke='black' stroke-width='1.6' stroke-linecap='round' fill='none'><path d='M12 6v2.6'/><path d='M5 10l1.5 1.5'/><path d='M19 10l-1.5 1.5'/><path d='M2 13.5h2.4'/><path d='M19.6 13.5H22'/></g><path d='M3 21h3M9 21h2M14 21h3M20 21h2' stroke='black' stroke-width='1.4' stroke-linecap='round'/></svg>");
}

/* 晚上 20:00-04:59 —— 弦月+星 */

.jk header time[v*=",20:"]::before,.jk header time[v*=",21:"]::before,.jk header time[v*=",22:"]::before,.jk header time[v*=",23:"]::before,.jk header time[v*=",0:"]::before,.jk header time[v*=",1:"]::before,.jk header time[v*=",2:"]::before,.jk header time[v*=",3:"]::before,.jk header time[v*=",4:"]::before,.jk header time[v*=",00:"]::before,.jk header time[v*=",01:"]::before,.jk header time[v*=",02:"]::before,.jk header time[v*=",03:"]::before,.jk header time[v*=",04:"]::before {
  background:#3a4f9a;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 15.2A8.4 8.4 0 0 1 9.4 4.4 8.4 8.4 0 1 0 20 15.2z' fill='black'/><path d='M5 6.2l.5 1.3L6.8 8l-1.3.5L5 9.8l-.5-1.3L3.2 8l1.3-.5z' fill='black'/><path d='M17.5 3.6l.4 1 1 .4-1 .4-.4 1-.4-1-1-.4 1-.4z' fill='black'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20 15.2A8.4 8.4 0 0 1 9.4 4.4 8.4 8.4 0 1 0 20 15.2z' fill='black'/><path d='M5 6.2l.5 1.3L6.8 8l-1.3.5L5 9.8l-.5-1.3L3.2 8l1.3-.5z' fill='black'/><path d='M17.5 3.6l.4 1 1 .4-1 .4-.4 1-.4-1-1-.4 1-.4z' fill='black'/></svg>");
}

.jk header place::before {
  content:"";width:12px;height:12px;flex:none;border-radius:50%;background:radial-gradient(circle,#e64a4a 40%,#9b1d1d 100%);box-shadow:0 0 0 2px #fff,0 0 0 3px #e64a4a44;animation:jkPing 1.8s ease-in-out infinite
}

@keyframes jkPing {
  0%,100%{box-shadow:0 0 0 2px #fff,0 0 0 3px #e64a4a44}50%{box-shadow:0 0 0 2px #fff,0 0 0 7px #e64a4a00}
}

.jk .gear {
  margin-left:auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;background:radial-gradient(#fffaef,#f0e5c2);border:1px solid #c8b98e;box-shadow:0 2px 5px rgba(120,110,90,.25),inset 0 1px 0 #fff;flex:none
}

.jk .gear::before {
  content:"";width:20px;height:20px;background:#3a4665;-webkit-mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M19.43 12.98a8 8 0 0 0 0-1.96l2.11-1.65a.5.5 0 0 0 .12-.64l-2-3.46a.5.5 0 0 0-.61-.22l-2.49 1a7.7 7.7 0 0 0-1.69-.98l-.38-2.65A.5.5 0 0 0 14 2h-4a.5.5 0 0 0-.49.42l-.38 2.65c-.6.25-1.17.58-1.69.98l-2.49-1a.5.5 0 0 0-.61.22l-2 3.46a.5.5 0 0 0 .12.64L4.57 11.02a8 8 0 0 0 0 1.96l-2.11 1.65a.5.5 0 0 0-.12.64l2 3.46a.5.5 0 0 0 .61.22l2.49-1c.52.4 1.09.73 1.69.98l.38 2.65A.5.5 0 0 0 10 22h4a.5.5 0 0 0 .49-.42l.38-2.65c.6-.25 1.17-.58 1.69-.98l2.49 1a.5.5 0 0 0 .61-.22l2-3.46a.5.5 0 0 0-.12-.64zM12 15.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7z'/></svg>");mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M19.43 12.98a8 8 0 0 0 0-1.96l2.11-1.65a.5.5 0 0 0 .12-.64l-2-3.46a.5.5 0 0 0-.61-.22l-2.49 1a7.7 7.7 0 0 0-1.69-.98l-.38-2.65A.5.5 0 0 0 14 2h-4a.5.5 0 0 0-.49.42l-.38 2.65c-.6.25-1.17.58-1.69.98l-2.49-1a.5.5 0 0 0-.61.22l-2 3.46a.5.5 0 0 0 .12.64L4.57 11.02a8 8 0 0 0 0 1.96l-2.11 1.65a.5.5 0 0 0-.12.64l2 3.46a.5.5 0 0 0 .61.22l2.49-1c.52.4 1.09.73 1.69.98l.38 2.65A.5.5 0 0 0 10 22h4a.5.5 0 0 0 .49-.42l.38-2.65c.6-.25 1.17-.58 1.69-.98l2.49 1a.5.5 0 0 0 .61-.22l2-3.46a.5.5 0 0 0-.12-.64zM12 15.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7z'/></svg>");transition:transform .8s
}

.jk .gear:hover::before {
  transform:rotate(180deg)
}

/* 正文（L 角已交由 stage 背景层绘制；这里去除原伪元素） */

.jk article {
  display:block;position:relative;padding:30px 40px 28px;max-height:380px;overflow-y:auto;font-size:14.5px;line-height:2;z-index:2;scrollbar-width:thin;scrollbar-color:#4a6894 transparent;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 24px,#000 calc(100% - 24px),transparent 100%)
}

.jk article::-webkit-scrollbar {
  width:8px
}

.jk article::-webkit-scrollbar-thumb {
  background:linear-gradient(180deg,#4a6894,#1f2a44);border-radius:4px;border:1px solid #fff
}

.jk article p {
  margin:0 0 1em;text-indent:2em
}

section.jk article p::first-letter {
  color:var(--jk-drop,#c23b4a);
  text-shadow:1px 1px 0 #fff,2px 2px 0 var(--jk-drop-shadow,rgba(194,59,74,.15));
}

section.jk article::-webkit-scrollbar-thumb {
  background:var(--jk-scroll,linear-gradient(180deg,#4a6894,#1f2a44));
  border-radius:4px;border:1px solid #fff;
}

.jk article p::first-letter {
  font-size:1.4em;color:#c23b4a;font-weight:700;padding-right:2px;text-shadow:1px 1px 0 #fff,2px 2px 0 rgba(194,59,74,.15)
}

/* 右侧按钮 */

.jk nav {
  position:absolute;top:78px;right:-56px;display:flex;flex-direction:column;gap:10px;z-index:6
}

.jk nav label {
  position:relative;width:52px;height:52px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:8px 4px 4px 8px;overflow:hidden;transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .25s,box-shadow .3s;box-shadow:3px 3px 0 rgba(0,0,0,.18),inset 0 0 0 2px rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.22)
}

.jk nav label::before {
  content:"";position:absolute;top:-30%;left:-100%;width:60%;height:160%;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:skewX(-22deg);transition:left .65s ease;pointer-events:none
}

.jk nav label:hover::before {
  left:140%
}

.jk nav label i {
  width:30px;height:30px;background:#fff;display:block;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;transition:transform .45s cubic-bezier(.34,1.56,.64,1)
}

.jk nav label:hover {
  transform:translateX(-8px) scale(1.05);filter:brightness(1.12) saturate(1.2)
}

.jk nav label:hover i {
  transform:scale(1.18) rotate(-8deg)
}

.jk nav label:nth-of-type(1) {
  background:linear-gradient(135deg,#00c2c0,#007a79)
}

.jk nav label:nth-of-type(2) {
  background:linear-gradient(135deg,#f2b933,#b07a10)
}

.jk nav label:nth-of-type(3) {
  background:linear-gradient(135deg,#ec6b3f,#9e3519)
}

.jk nav label:nth-of-type(4) {
  background:linear-gradient(135deg,#9d7040,#5a3a1a)
}

.jk nav label:nth-of-type(5) {
  background:linear-gradient(135deg,#7b52d0,#3c238f)
}

.jk nav label:nth-of-type(6) {
  background:linear-gradient(135deg,#3d72c4,#1a3967)
}

.jk nav label:nth-of-type(1) i {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='6' width='26' height='20' rx='2.5'/><circle cx='11' cy='14' r='3.2'/><path d='M6 22c.8-2.5 2.8-4 5-4s4.2 1.5 5 4'/><path d='M19 11h7M19 14h7M19 17h5M19 20h6'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='6' width='26' height='20' rx='2.5'/><circle cx='11' cy='14' r='3.2'/><path d='M6 22c.8-2.5 2.8-4 5-4s4.2 1.5 5 4'/><path d='M19 11h7M19 14h7M19 17h5M19 20h6'/></svg>")
}

.jk nav label:nth-of-type(2) i {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 4h16l6 6v18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/><path d='M22 4v6h6'/><circle cx='12' cy='16' r='2.5'/><path d='M8 22c0-2 2-3 4-3s4 1 4 3'/><path d='M19 22h5M19 26h6'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 4h16l6 6v18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/><path d='M22 4v6h6'/><circle cx='12' cy='16' r='2.5'/><path d='M8 22c0-2 2-3 4-3s4 1 4 3'/><path d='M19 22h5M19 26h6'/></svg>")
}

.jk nav label:nth-of-type(3) i {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='6' width='24' height='22' rx='2'/><path d='M4 12h24'/><path d='M10 3v6M22 3v6'/><rect x='8' y='16' width='4' height='4' fill='black'/><rect x='14' y='16' width='4' height='4'/><rect x='20' y='16' width='4' height='4'/><rect x='14' y='22' width='4' height='4' fill='black'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='6' width='24' height='22' rx='2'/><path d='M4 12h24'/><path d='M10 3v6M22 3v6'/><rect x='8' y='16' width='4' height='4' fill='black'/><rect x='14' y='16' width='4' height='4'/><rect x='20' y='16' width='4' height='4'/><rect x='14' y='22' width='4' height='4' fill='black'/></svg>")
}

.jk nav label:nth-of-type(4) i {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 4v26'/><circle cx='8' cy='3.5' r='1.4' fill='black' stroke='none'/><path d='M8 6l16 2.5L8 14z' fill='black' fill-opacity='.3'/><path d='M8 18c4 1 8-1 12 0s4 3 8 2' stroke-dasharray='3 2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 4v26'/><circle cx='8' cy='3.5' r='1.4' fill='black' stroke='none'/><path d='M8 6l16 2.5L8 14z' fill='black' fill-opacity='.3'/><path d='M8 18c4 1 8-1 12 0s4 3 8 2' stroke-dasharray='3 2'/></svg>")
}

.jk nav label:nth-of-type(5) i {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M16 28S4 20 4 12a6 6 0 0 1 12-2 6 6 0 0 1 12 2c0 8-12 16-12 16z'/><path d='M11 13l3 3 6-6'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M16 28S4 20 4 12a6 6 0 0 1 12-2 6 6 0 0 1 12 2c0 8-12 16-12 16z'/><path d='M11 13l3 3 6-6'/></svg>")
}

/* ▼ 第6个：分支选项（线稿风，与同组协调） */

.jk nav label:nth-of-type(6) i {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='7' cy='16' r='2.6'/><circle cx='25' cy='7' r='2.6'/><circle cx='25' cy='25' r='2.6'/><path d='M9.6 16h4M13.6 16C16 16 18 12 22.6 8.4'/><path d='M13.6 16C16 16 18 20 22.6 23.6'/><path d='M22 7h-4M22 25h-4' stroke-dasharray='1.5 2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='7' cy='16' r='2.6'/><circle cx='25' cy='7' r='2.6'/><circle cx='25' cy='25' r='2.6'/><path d='M9.6 16h4M13.6 16C16 16 18 12 22.6 8.4'/><path d='M13.6 16C16 16 18 20 22.6 23.6'/><path d='M22 7h-4M22 25h-4' stroke-dasharray='1.5 2'/></svg>")
}

.jk input[name^=hs]:checked + label {
  transform:translateX(-18px) scale(1.1);filter:brightness(1.2) saturate(1.35);box-shadow:6px 6px 0 rgba(0,0,0,.25),inset 0 0 0 2px rgba(255,255,255,.5),0 0 14px rgba(255,255,255,.4)
}

.jk input[name^=hs]:checked + label i {
  transform:scale(1.28) rotate(360deg);transition-duration:.9s
}

/* 面板 */

.jk panel {
  position:absolute;top:50%;left:50%;width:min(98%,560px);height:min(94%,520px);transform:translate(-50%,-50%) scale(.82);display:block;background:repeating-linear-gradient(0deg,rgba(74,104,148,.07) 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,rgba(74,104,148,.07) 0 1px,transparent 1px 24px),linear-gradient(#fffef8,#f8f2dc);border:1.5px solid #2a3a5c;border-radius:4px;padding:0 26px 22px;opacity:0;pointer-events:none;transition:opacity .32s,transform .45s cubic-bezier(.34,1.56,.64,1);box-shadow:0 24px 60px rgba(10,20,50,.55),inset 0 0 0 4px rgba(255,255,255,.8),inset 0 0 80px rgba(108,122,156,.1);overflow-y:auto;z-index:999;scrollbar-width:thin
}

.jk panel h {
  position:sticky;top:0;display:block;margin:0 -26px 18px;padding:12px 28px;color:#fff;font-size:13.5px;letter-spacing:4px;font-weight:800;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.15)
}

.jk panel h::before {
  content:"◆ "
}

.jk panel:nth-of-type(1) h {
  background:linear-gradient(90deg,#00c2c0,#007a79)
}

.jk panel:nth-of-type(2) h {
  background:linear-gradient(90deg,#f2b933,#b07a10)
}

.jk panel:nth-of-type(3) h {
  background:linear-gradient(90deg,#ec6b3f,#9e3519)
}

.jk panel:nth-of-type(4) h {
  background:linear-gradient(90deg,#9d7040,#5a3a1a)
}

.jk panel:nth-of-type(5) h {
  background:linear-gradient(90deg,#7b52d0,#3c238f)
}

.jk panel:nth-of-type(6) h {
  background:linear-gradient(90deg,#3d72c4,#1a3967)
}

.jk panel:nth-of-type(7) h {
  background:linear-gradient(90deg,#4d8f3c,#1f4a15)
}

.jk panel::before {
  content:"";position:absolute;top:58px;left:18px;width:60px;height:16px;background:repeating-linear-gradient(90deg,#ffd6d6 0 5px,#ffb0b0 5px 10px);transform:rotate(-4deg);opacity:.85
}

.jk panel::after {
  content:"SAMPLE";position:absolute;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;border:2.5px solid #c13b3b;color:#c13b3b;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;letter-spacing:1.5px;transform:rotate(-12deg);box-shadow:inset 0 0 0 1px #fff,inset 0 0 0 3px #c13b3b;opacity:.82
}

.jk panel ph {
  display:block;color:#7a7568;line-height:2.1;font-size:12.5px;padding:10px 0 10px 12px;border-left:3px solid #c8b98e;background:repeating-linear-gradient(180deg,transparent 0 26px,rgba(108,122,156,.08) 26px 27px);margin-top:24px
}

.jk panel ph::before {
  content:"— 内容预留 —";display:block;color:#c13b3b;font-weight:700;letter-spacing:3px;margin-bottom:5px;font-size:11px
}

.jk .xclose {
  position:absolute;top:calc(50% - min(46%,260px) - 16px);left:calc(50% + min(48%,280px) - 16px);width:34px;height:34px;border-radius:50%;background:radial-gradient(#2a3a5c,#0f1a36);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;z-index:1001;font-size:20px;opacity:0;pointer-events:none;transform:scale(.4) rotate(-180deg);transition:.4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 12px rgba(0,0,0,.5),inset 0 0 0 2px rgba(255,255,255,.3)
}

.jk .xclose:hover {
  background:radial-gradient(#da532c,#8a2a10);transform:scale(1.15) rotate(90deg)
}

.jk input:nth-of-type(2):checked ~ stage panel:nth-of-type(1),
.jk input:nth-of-type(3):checked ~ stage panel:nth-of-type(2),
.jk input:nth-of-type(4):checked ~ stage panel:nth-of-type(3),
.jk input:nth-of-type(5):checked ~ stage panel:nth-of-type(4),
.jk input:nth-of-type(6):checked ~ stage panel:nth-of-type(5),
.jk input:nth-of-type(7):checked ~ stage panel:nth-of-type(6),
.jk input:nth-of-type(8):checked ~ stage panel:nth-of-type(7) {
  opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto
}

.jk input:nth-of-type(n+2):checked ~ stage .xclose {
  opacity:1;pointer-events:auto;transform:scale(1) rotate(0)
}

@media (max-width:520px) {
  .jk {
    margin:18px 8px
  }

  .jk stage {
    min-height:460px;
    background:
    linear-gradient(135deg,rgba(255,255,255,.65),rgba(248,243,228,.45)),
    repeating-linear-gradient(0deg,rgba(120,110,90,.05) 0 1px,transparent 1px 28px),
    repeating-linear-gradient(90deg,rgba(120,110,90,.04) 0 1px,transparent 1px 28px),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'><g fill='none' stroke='%234a5fa8' stroke-width='2.2' stroke-linecap='square'><path d='M4 26V4h22'/></g><rect x='2.4' y='2.4' width='3.6' height='3.6' fill='%23c23b4a'/><rect x='24' y='2.4' width='4' height='3.6' fill='%2300aba9'/><rect x='2.4' y='24' width='3.6' height='4' fill='%23e3a21a'/><circle cx='10' cy='4' r='1.4' fill='%234a5fa8'/><circle cx='4' cy='10' r='1.4' fill='%234a5fa8'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'><g fill='none' stroke='%234a5fa8' stroke-width='2.2' stroke-linecap='square'><path d='M32 10v22H10'/></g><rect x='30' y='30' width='3.6' height='3.6' fill='%23c23b4a'/><rect x='30' y='8' width='3.6' height='4' fill='%2300aba9'/><rect x='8' y='30' width='4' height='3.6' fill='%23e3a21a'/><circle cx='26' cy='32' r='1.4' fill='%234a5fa8'/><circle cx='32' cy='26' r='1.4' fill='%234a5fa8'/></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 168 38'><g><rect x='8' y='12' width='14' height='14' fill='%2300aba9'/><rect x='26' y='12' width='14' height='14' fill='%23e3a21a'/><rect x='44' y='12' width='14' height='14' fill='%23da532c'/><rect x='62' y='12' width='14' height='14' fill='%23825a2c'/><rect x='80' y='12' width='14' height='14' fill='%23603cba'/><rect x='98' y='12' width='14' height='14' fill='%232b5797'/><rect x='116' y='12' width='14' height='14' fill='%234d8f3c'/></g><g fill='none' stroke='%233a4665' stroke-width='1' opacity='.5'><path d='M138 19h26' stroke-dasharray='2 3'/></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 168 38'><defs><g id='petal'><path d='M0 -9 C 3 -6 3 -3 1.4 -1 C .5 .2 -.5 .2 -1.4 -1 C -3 -3 -3 -6 0 -9 Z' fill='%23ffd6df' stroke='%23c23b4a' stroke-width='.8' stroke-linejoin='round'/></g></defs><g fill='none' stroke='%233a4665' stroke-width='1' opacity='.5'><path d='M4 19h26' stroke-dasharray='2 3'/></g><g transform='translate(46 19)'><circle r='3' fill='%23c23b4a'/><circle r='6' fill='none' stroke='%233a4665' stroke-width='1' opacity='.55'/><circle r='9' fill='none' stroke='%233a4665' stroke-width='.7' opacity='.35' stroke-dasharray='1.5 2'/></g><g transform='translate(86 19)'><rect x='-7' y='-7' width='6' height='6' fill='%2300aba9'/><rect x='1' y='-7' width='6' height='6' fill='%23e3a21a'/><rect x='-7' y='1' width='6' height='6' fill='%23603cba'/><rect x='1' y='1' width='6' height='6' fill='%234d8f3c'/></g><g transform='translate(140 19)'><circle r='13' fill='none' stroke='%23c23b4a' stroke-width='.6' opacity='.4' stroke-dasharray='1 2'/><use href='%23petal' transform='rotate(0)'/><use href='%23petal' transform='rotate(72)'/><use href='%23petal' transform='rotate(144)'/><use href='%23petal' transform='rotate(216)'/><use href='%23petal' transform='rotate(288)'/><circle r='2' fill='%23ffeb8a' stroke='%23c89a2a' stroke-width='.5'/></g></svg>"),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><circle cx='1.2' cy='1.2' r='1' fill='%23c8b98e' opacity='.5'/></svg>"),
    radial-gradient(circle at 15% 10%,#fffef8 0%,#f4ecd6 55%,#e8ddb9 100%);
    background-repeat:no-repeat,repeat,repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat-x,no-repeat;
    background-size:auto,auto,auto,28px 28px,28px 28px,168px 38px,168px 38px,8px 38px,auto;
    background-position:0 0,0 0,0 0,8px 52px,right 8px bottom 46px,left bottom,right bottom,left bottom,0 0;
  }

  .jk header {
    padding:10px 12px 9px;gap:6px 8px
  }

  .jk header time,.jk header place {
    padding:4px 9px;font-size:11px;letter-spacing:.5px
  }

  .jk .gear {
    width:30px;height:30px
  }

  .jk .gear::before {
    width:18px;height:18px
  }

  .jk article {
    padding:22px 22px;font-size:13.5px;max-height:330px
  }

  .jk nav {
    right:-44px;gap:7px
  }

  .jk nav label {
    width:44px;height:44px
  }

  .jk nav label i {
    width:24px;height:24px
  }

  .jk panel {
    position:fixed;width:90vw;height:72vh;padding:0 18px 18px;
    /* ▼ 面板垂直居中位置：calc(50% - Npx) 中的 Npx 越大，面板越往上移；默认50%为正中，此处上移30px */
    top:calc(50% - 40px);
  }

  .jk panel:nth-of-type(1) grid {
    grid-template-columns:repeat(6,1fr)
  }

  .jk panel:nth-of-type(1) gauges {
    grid-template-columns:repeat(4,1fr);gap:6px
  }

  .jk panel:nth-of-type(1) g {
    padding:12px 3px 7px
  }

  .jk panel:nth-of-type(1) g::before {
    font-size:7px;letter-spacing:1.4px;padding:2px 6px
  }

  .jk panel:nth-of-type(1) ring {
    width:40px;height:40px
  }

  .jk panel:nth-of-type(1) ring::before {
    inset:6px
  }

  .jk panel:nth-of-type(1) ring num {
    font-size:13px
  }

  .jk panel h {
    margin:0 -18px 14px;padding:11px 20px;font-size:12px;letter-spacing:2px
  }

  .jk .xclose {
    position:fixed;
    /* ▼ 关闭按钮顶部位置：与面板同步上移30px。35vh为面板半高(72vh/2≈36vh)的近似值，可微调 */
    top:calc(50% - 40px - min(35vh,220px) - 16px);
    left:calc(50% + min(44vw,230px) - 16px)
  }
}

/* ═══ 学生証 PANEL #1 · v3 ═══ */

.jk panel:nth-of-type(1) {
  padding:0 22px 26px
}

.jk panel:nth-of-type(1) card {
  display:block;font-size:12px;color:#22242c
}

/* ── 横式名牌 ── */

.jk panel:nth-of-type(1) id {
  display:grid;grid-template-columns:46% 1fr;gap:0;margin-bottom:14px;background:linear-gradient(135deg,#fffef8,#f4ecd6);border:1px solid #1a2340;box-shadow:3px 3px 0 #c8b98e,inset 0 0 0 3px #fff,inset 0 0 0 4px #c8b98e;position:relative;overflow:hidden
}

.jk panel:nth-of-type(1) id::before {
  content:"櫻ヶ丘高等学校　学生証";position:absolute;top:0;left:0;right:0;padding:3px 10px;background:#1a2340;color:#ffd6a8;font-size:9px;letter-spacing:4px;font-weight:700;z-index:2
}

.jk panel:nth-of-type(1) id::after {
  content:"NO.0214\A2013\A ";white-space:pre;position:absolute;right:10px;bottom:8px;font-family:Georgia,serif;font-size:9px;color:#c23b4a;letter-spacing:1.5px;font-weight:800;text-align:right;line-height:1.4;z-index:2
}

.jk panel:nth-of-type(1) sign {
  padding:28px 14px 14px;border-right:1px dashed #c8b98e;display:flex;flex-direction:column;justify-content:center;position:relative;background:repeating-linear-gradient(90deg,transparent 0 22px,rgba(194,59,74,.04) 22px 23px)
}

.jk panel:nth-of-type(1) sign yomi {
  display:block;font-size:10px;color:#7a7568;letter-spacing:5px;margin-bottom:4px;font-weight:400
}

.jk panel:nth-of-type(1) sign n {
  display:block;font-size:24px;font-weight:900;color:#1a2340;letter-spacing:8px;line-height:1.1;text-shadow:2px 2px 0 rgba(194,59,74,.18);font-family:"Yu Mincho","Hiragino Mincho",serif
}

.jk panel:nth-of-type(1) sign::after {
  content:"印";position:absolute;right:10px;top:28px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;color:#fff;background:#c13b3b;border:2px solid #c13b3b;box-shadow:inset 0 0 0 1.5px #fff;font-size:13px;font-weight:800;font-family:serif;transform:rotate(-10deg)
}

.jk panel:nth-of-type(1) info {
  display:flex;flex-direction:column;justify-content:center;padding:28px 14px 14px;gap:2px
}

.jk panel:nth-of-type(1) info tile {
  display:grid;grid-template-columns:56px 1fr;align-items:center;padding:4px 0;border-bottom:1px dotted #c8b98e;transition:background .2s
}

.jk panel:nth-of-type(1) info tile:last-of-type {
  border-bottom:0
}

.jk panel:nth-of-type(1) info tile:hover {
  background:rgba(194,59,74,.06)
}

.jk panel:nth-of-type(1) info tile k {
  display:block;font-size:9px;color:#fff;background:#3a4665;letter-spacing:2px;font-weight:700;padding:2px 6px;text-align:center;clip-path:polygon(0 0,100% 0,calc(100% - 5px) 100%,0 100%)
}

.jk panel:nth-of-type(1) info tile v {
  display:block;font-size:12.5px;font-weight:800;color:#1a2340;letter-spacing:1.5px;padding-left:10px;font-family:"Yu Mincho",serif
}

/* ── 章节标题 ── */

.jk panel:nth-of-type(1) sec {
  display:block;margin:14px 0 0
}

.jk panel:nth-of-type(1) sec::before {
  content:attr(t) " ▸";display:block;padding:3px 0 4px 10px;color:#1a2340;font-size:10.5px;letter-spacing:4px;font-weight:800;margin-bottom:9px;border-bottom:2px solid #1a2340;background:linear-gradient(90deg,rgba(194,59,74,.15),transparent 60%)
}

/* ── 状態：理智 / 体力 / CP / AP ── */

.jk panel:nth-of-type(1) gauges {
  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:4px 0 8px;position:relative
}

.jk panel:nth-of-type(1) gauges::before {
  content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(74,104,148,.045) 0 1px,transparent 1px 25%);pointer-events:none
}

.jk panel:nth-of-type(1) g {
  display:flex;flex-direction:column;align-items:center;gap:4px;padding:13px 4px 8px;background:linear-gradient(180deg,#fffef8,#f4ecd6);border:1px solid #c8b98e;border-top:3px solid currentColor;position:relative;color:#3a4665;box-shadow:inset 0 0 0 1px #fff,2px 2px 0 rgba(200,185,142,.55);transition:transform .25s,box-shadow .25s,filter .25s
}

.jk panel:nth-of-type(1) g:hover {
  transform:translateY(-2px);filter:saturate(1.1);box-shadow:inset 0 0 0 1px #fff,3px 5px 0 rgba(200,185,142,.65),0 8px 16px rgba(30,45,90,.14)
}

.jk panel:nth-of-type(1) g::before {
  content:attr(stat);position:absolute;top:-3px;left:50%;transform:translateX(-50%);padding:2px 9px;background:#1a2340;color:#ffd6a8;font-size:8px;letter-spacing:2px;font-weight:900;white-space:nowrap;box-shadow:0 2px 0 rgba(0,0,0,.18)
}

.jk panel:nth-of-type(1) g::after {
  content:"/ " attr(max);font-size:8px;color:#7a7568;letter-spacing:1px;font-weight:700;margin-top:1px
}

.jk panel:nth-of-type(1) ring {
  position:relative;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(currentColor 0%,#e8ddb9 0);box-shadow:inset 0 0 0 1px rgba(26,35,64,.25),0 2px 6px rgba(30,45,90,.16)
}

.jk panel:nth-of-type(1) ring::before {
  content:"";position:absolute;inset:7px;border-radius:50%;background:linear-gradient(180deg,#fffef8,#f4ecd6);box-shadow:inset 0 0 0 1px #c8b98e,inset 0 2px 0 #fff;z-index:1
}

.jk panel:nth-of-type(1) ring::after {
  content:"";position:absolute;inset:-2px;border-radius:50%;background:inherit;filter:blur(4px);opacity:.28;z-index:0
}

.jk panel:nth-of-type(1) ring num {
  position:relative;z-index:2;display:flex;align-items:center;justify-content:center;color:#1a2340;font-size:15px;font-weight:900;font-family:Georgia,"Yu Mincho",serif;letter-spacing:.5px
}

.jk panel:nth-of-type(1) g[stat="理智"] {
  color:#7b52d0
}

.jk panel:nth-of-type(1) g[stat="理智"]::before {
  background:linear-gradient(90deg,#7b52d0,#3c238f)
}

.jk panel:nth-of-type(1) g[stat="体力"] {
  color:#c23b4a
}

.jk panel:nth-of-type(1) g[stat="体力"]::before {
  background:linear-gradient(90deg,#c23b4a,#8a1a2a)
}

.jk panel:nth-of-type(1) g[stat="CP"] {
  color:#e3a21a
}

.jk panel:nth-of-type(1) g[stat="CP"]::before {
  background:linear-gradient(90deg,#e3a21a,#9a6a0a)
}

.jk panel:nth-of-type(1) g[stat="AP"] {
  color:#00aba9
}

.jk panel:nth-of-type(1) g[stat="AP"]::before {
  background:linear-gradient(90deg,#00aba9,#006a6a)
}

.jk panel:nth-of-type(1) g[v="0"] ring {
  background:conic-gradient(currentColor 0%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="1"] ring {
  background:conic-gradient(currentColor 1%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="2"] ring {
  background:conic-gradient(currentColor 2%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="3"] ring {
  background:conic-gradient(currentColor 3%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="4"] ring {
  background:conic-gradient(currentColor 4%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="5"] ring {
  background:conic-gradient(currentColor 5%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="6"] ring {
  background:conic-gradient(currentColor 6%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="7"] ring {
  background:conic-gradient(currentColor 7%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="8"] ring {
  background:conic-gradient(currentColor 8%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="9"] ring {
  background:conic-gradient(currentColor 9%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="10"] ring {
  background:conic-gradient(currentColor 10%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="11"] ring {
  background:conic-gradient(currentColor 11%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="12"] ring {
  background:conic-gradient(currentColor 12%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="13"] ring {
  background:conic-gradient(currentColor 13%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="14"] ring {
  background:conic-gradient(currentColor 14%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="15"] ring {
  background:conic-gradient(currentColor 15%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="16"] ring {
  background:conic-gradient(currentColor 16%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="17"] ring {
  background:conic-gradient(currentColor 17%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="18"] ring {
  background:conic-gradient(currentColor 18%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="19"] ring {
  background:conic-gradient(currentColor 19%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="20"] ring {
  background:conic-gradient(currentColor 20%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="21"] ring {
  background:conic-gradient(currentColor 21%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="22"] ring {
  background:conic-gradient(currentColor 22%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="23"] ring {
  background:conic-gradient(currentColor 23%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="24"] ring {
  background:conic-gradient(currentColor 24%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="25"] ring {
  background:conic-gradient(currentColor 25%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="26"] ring {
  background:conic-gradient(currentColor 26%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="27"] ring {
  background:conic-gradient(currentColor 27%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="28"] ring {
  background:conic-gradient(currentColor 28%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="29"] ring {
  background:conic-gradient(currentColor 29%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="30"] ring {
  background:conic-gradient(currentColor 30%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="31"] ring {
  background:conic-gradient(currentColor 31%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="32"] ring {
  background:conic-gradient(currentColor 32%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="33"] ring {
  background:conic-gradient(currentColor 33%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="34"] ring {
  background:conic-gradient(currentColor 34%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="35"] ring {
  background:conic-gradient(currentColor 35%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="36"] ring {
  background:conic-gradient(currentColor 36%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="37"] ring {
  background:conic-gradient(currentColor 37%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="38"] ring {
  background:conic-gradient(currentColor 38%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="39"] ring {
  background:conic-gradient(currentColor 39%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="40"] ring {
  background:conic-gradient(currentColor 40%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="41"] ring {
  background:conic-gradient(currentColor 41%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="42"] ring {
  background:conic-gradient(currentColor 42%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="43"] ring {
  background:conic-gradient(currentColor 43%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="44"] ring {
  background:conic-gradient(currentColor 44%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="45"] ring {
  background:conic-gradient(currentColor 45%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="46"] ring {
  background:conic-gradient(currentColor 46%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="47"] ring {
  background:conic-gradient(currentColor 47%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="48"] ring {
  background:conic-gradient(currentColor 48%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="49"] ring {
  background:conic-gradient(currentColor 49%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="50"] ring {
  background:conic-gradient(currentColor 50%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="51"] ring {
  background:conic-gradient(currentColor 51%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="52"] ring {
  background:conic-gradient(currentColor 52%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="53"] ring {
  background:conic-gradient(currentColor 53%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="54"] ring {
  background:conic-gradient(currentColor 54%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="55"] ring {
  background:conic-gradient(currentColor 55%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="56"] ring {
  background:conic-gradient(currentColor 56%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="57"] ring {
  background:conic-gradient(currentColor 57%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="58"] ring {
  background:conic-gradient(currentColor 58%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="59"] ring {
  background:conic-gradient(currentColor 59%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="60"] ring {
  background:conic-gradient(currentColor 60%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="61"] ring {
  background:conic-gradient(currentColor 61%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="62"] ring {
  background:conic-gradient(currentColor 62%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="63"] ring {
  background:conic-gradient(currentColor 63%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="64"] ring {
  background:conic-gradient(currentColor 64%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="65"] ring {
  background:conic-gradient(currentColor 65%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="66"] ring {
  background:conic-gradient(currentColor 66%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="67"] ring {
  background:conic-gradient(currentColor 67%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="68"] ring {
  background:conic-gradient(currentColor 68%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="69"] ring {
  background:conic-gradient(currentColor 69%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="70"] ring {
  background:conic-gradient(currentColor 70%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="71"] ring {
  background:conic-gradient(currentColor 71%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="72"] ring {
  background:conic-gradient(currentColor 72%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="73"] ring {
  background:conic-gradient(currentColor 73%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="74"] ring {
  background:conic-gradient(currentColor 74%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="75"] ring {
  background:conic-gradient(currentColor 75%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="76"] ring {
  background:conic-gradient(currentColor 76%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="77"] ring {
  background:conic-gradient(currentColor 77%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="78"] ring {
  background:conic-gradient(currentColor 78%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="79"] ring {
  background:conic-gradient(currentColor 79%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="80"] ring {
  background:conic-gradient(currentColor 80%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="81"] ring {
  background:conic-gradient(currentColor 81%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="82"] ring {
  background:conic-gradient(currentColor 82%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="83"] ring {
  background:conic-gradient(currentColor 83%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="84"] ring {
  background:conic-gradient(currentColor 84%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="85"] ring {
  background:conic-gradient(currentColor 85%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="86"] ring {
  background:conic-gradient(currentColor 86%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="87"] ring {
  background:conic-gradient(currentColor 87%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="88"] ring {
  background:conic-gradient(currentColor 88%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="89"] ring {
  background:conic-gradient(currentColor 89%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="90"] ring {
  background:conic-gradient(currentColor 90%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="91"] ring {
  background:conic-gradient(currentColor 91%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="92"] ring {
  background:conic-gradient(currentColor 92%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="93"] ring {
  background:conic-gradient(currentColor 93%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="94"] ring {
  background:conic-gradient(currentColor 94%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="95"] ring {
  background:conic-gradient(currentColor 95%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="96"] ring {
  background:conic-gradient(currentColor 96%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="97"] ring {
  background:conic-gradient(currentColor 97%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="98"] ring {
  background:conic-gradient(currentColor 98%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="99"] ring {
  background:conic-gradient(currentColor 99%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[v="100"] ring {
  background:conic-gradient(currentColor 100%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) g[max="5"][v="0"] ring {
  background:conic-gradient(currentColor 0%,#e8ddb9 0)
}

.jk panel:nth-of-type(1) aca {
  display:flex;flex-direction:column;gap:6px;position:relative
}

.jk panel:nth-of-type(1) sub {
  display:grid;grid-template-columns:42px 1fr 36px;gap:8px;align-items:center;padding:3px 0;transition:background .2s;border-radius:2px
}

.jk panel:nth-of-type(1) sub:hover {
  background:rgba(194,59,74,.06)
}

.jk panel:nth-of-type(1) sub::before {
  content:attr(n);font-size:11px;font-weight:800;color:#1a2340;letter-spacing:2px;text-align:center;padding:3px 0;border-left:3px solid;background:linear-gradient(90deg,rgba(255,255,255,.8),transparent)
}

.jk panel:nth-of-type(1) sub[n="国文"]::before {
  border-color:#c23b4a
}

.jk panel:nth-of-type(1) sub[n="数学"]::before {
  border-color:#2b5797
}

.jk panel:nth-of-type(1) sub[n="外语"]::before {
  border-color:#00aba9
}

.jk panel:nth-of-type(1) sub[n="文科"]::before {
  border-color:#e3a21a
}

.jk panel:nth-of-type(1) sub[n="理科"]::before {
  border-color:#4d8f3c
}

.jk panel:nth-of-type(1) sub bar {
  position:relative;height:22px;background:repeating-linear-gradient(90deg,#fffef8 0 calc(10% - 1px),#c8b98e calc(10% - 1px) 10%),linear-gradient(180deg,#f4ecd6,#e8ddb9);border:1px solid #3a4665;box-shadow:inset 0 1px 0 #fff,1px 1px 0 #c8b98e
}

.jk panel:nth-of-type(1) sub bar::after {
  content:"100";position:absolute;right:-2px;top:-11px;font-size:7.5px;color:#7a7568
}

.jk panel:nth-of-type(1) sub bar e {
  position:relative;display:block;height:100%;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.25) 0 3px,transparent 3px 6px);box-shadow:inset 0 -3px 0 rgba(0,0,0,.2),inset 0 2px 0 rgba(255,255,255,.35);transition:width 1s cubic-bezier(.34,1.56,.64,1)
}

.jk panel:nth-of-type(1) sub bar e::after {
  content:"";position:absolute;right:-1px;top:-3px;bottom:-3px;width:3px;background:#1a2340;box-shadow:0 0 6px rgba(26,35,64,.6)
}

.jk panel:nth-of-type(1) sub[n="国文"] bar e {
  background-color:#c23b4a
}

.jk panel:nth-of-type(1) sub[n="数学"] bar e {
  background-color:#2b5797
}

.jk panel:nth-of-type(1) sub[n="外语"] bar e {
  background-color:#00aba9
}

.jk panel:nth-of-type(1) sub[n="文科"] bar e {
  background-color:#e3a21a
}

.jk panel:nth-of-type(1) sub[n="理科"] bar e {
  background-color:#4d8f3c
}

.jk panel:nth-of-type(1) sub[n="STA"]::before {
  border-color: #e67e22
}

.jk panel:nth-of-type(1) sub[n="SAN"]::before {
  border-color: #8e44ad
}

.jk panel:nth-of-type(1) sub[n="CP"]::before {
  border-color: #f1c40f
}

.jk panel:nth-of-type(1) sub[n="AP"]::before {
  border-color: #2980b9
}

.jk panel:nth-of-type(1) sub[n="STA"] bar e {
  background-color: #e67e22;
}

.jk panel:nth-of-type(1) sub[n="SAN"] bar e {
  background-color: #8e44ad;
}

.jk panel:nth-of-type(1) sub[n="CP"] bar e {
  background-color: #f1c40f;
}

.jk panel:nth-of-type(1) sub[n="AP"] bar e {
  background-color: #2980b9;
}

.jk panel:nth-of-type(1) sub::after {
  content:attr(v);display:flex;align-items:center;justify-content:center;height:28px;background:linear-gradient(135deg,#1a2340,#2a3a5c);color:#fff;font-size:13px;font-weight:900;font-family:Georgia,"Yu Mincho",serif;letter-spacing:1px;box-shadow:2px 2px 0 #c8b98e,inset 0 0 0 1px rgba(255,255,255,.22)
}

.jk panel:nth-of-type(1) aca::after {
  content:"▼ " attr(r);display:block;margin-top:6px;padding:4px 10px;font-size:9.5px;color:#fff;background:linear-gradient(90deg,#3a4665,#1a2340 70%,transparent);letter-spacing:2px;font-weight:700;clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%)
}

/* ── 通学确认（问句入 CSS） ── */

.jk panel:nth-of-type(1) com {
  display:flex;flex-direction:column;gap:6px
}

.jk panel:nth-of-type(1) chk {
  display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 12px;background:linear-gradient(90deg,#fffef8,#f4ecd6 90%);border:1px solid #c8b98e;border-left:4px solid #c8b98e;font-size:11.5px;transition:.25s;position:relative
}

.jk panel:nth-of-type(1) chk::before {
  content:"";width:18px;height:18px;border:2px solid #2a3a5c;flex:none;box-shadow:1px 1px 0 #c8b98e;background:#fff center/13px no-repeat
}

.jk panel:nth-of-type(1) chk::after {
  color:#1a2340;font-weight:700;letter-spacing:.5px
}

.jk panel:nth-of-type(1) chk:nth-of-type(1)::after {
  content:"是否为特别寮（桜寮）住户"
}

.jk panel:nth-of-type(1) chk:nth-of-type(2)::after {
  content:"是否持有本月通学定期券"
}

.jk panel:nth-of-type(1) chk[v="1"] {
  border-left-color:#00aba9
}

.jk panel:nth-of-type(1) chk[v="1"]::before {
  background-color:#00aba9;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8.5l3 3 7-7' stroke='white' stroke-width='2.5' fill='none' stroke-linecap='round'/></svg>");border-color:#007a79
}

.jk panel:nth-of-type(1) chk[v="0"] {
  border-left-color:#c23b4a
}

.jk panel:nth-of-type(1) chk[v="0"]::before {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 4l8 8M12 4l-8 8' stroke='%23c23b4a' stroke-width='2.4' stroke-linecap='round'/></svg>");border-color:#c23b4a
}

.jk panel:nth-of-type(1) chk em {
  font-style:normal;color:#fff;background:#3a4665;padding:2px 8px;font-size:9.5px;letter-spacing:1.5px;font-weight:700;white-space:nowrap;order:3
}

.jk panel:nth-of-type(1) chk:hover {
  transform:translateX(3px);box-shadow:-3px 3px 0 #c8b98e
}

/* ── 人物像 ── */

.jk panel:nth-of-type(1) traits {
  display:grid;grid-template-columns:1fr 1fr;gap:8px
}

.jk panel:nth-of-type(1) traits b {
  display:block;padding:9px 11px 10px;font-size:11px;line-height:1.75;font-weight:400;position:relative;background:linear-gradient(180deg,#fff,#fbf4df);box-shadow:inset 0 0 0 1px #c8b98e,2px 2px 0 rgba(194,59,74,.25);transition:.3s
}

.jk panel:nth-of-type(1) traits b::before {
  content:attr(t);display:inline-block;padding:2px 9px;background:#1a2340;color:#ffd6a8;font-size:9px;letter-spacing:3px;font-weight:800;margin-bottom:6px;font-family:Georgia,serif
}

.jk panel:nth-of-type(1) traits b:hover {
  transform:translate(-2px,-2px);box-shadow:inset 0 0 0 1px #c23b4a,4px 4px 0 rgba(194,59,74,.4)
}

/* ── 所持品 v4：display:block 修复 + 顶部固定信息条 ── */

.jk panel:nth-of-type(1) inv {
  display:block;position:relative;padding:54px 6px 6px;border:1px solid #1a2340;background:linear-gradient(180deg,#1a2340 0 48px,#f4ecd6 48px 100%);overflow:hidden
}

.jk panel:nth-of-type(1) inv tip {
  display:block;position:absolute;top:0;left:0;right:0;height:48px;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(122,154,224,.1) 6px 7px);box-shadow:inset 0 -2px 0 #c23b4a,inset 0 0 0 2px rgba(255,255,255,.08);z-index:1
}

.jk panel:nth-of-type(1) inv tip::before {
  content:"";position:absolute;left:8px;top:10px;bottom:10px;width:5px;background:linear-gradient(180deg,#c23b4a,#e3a21a)
}

.jk panel:nth-of-type(1) inv tip::after {
  content:"ITEM ▸ 点击物品查看详细";position:absolute;left:22px;top:0;bottom:0;right:14px;display:flex;align-items:center;color:#7a9ae0;font-size:10.5px;letter-spacing:2px;font-weight:700;font-style:italic;white-space:nowrap
}

.jk panel:nth-of-type(1) grid {
  display:grid;grid-template-columns:repeat(8,1fr);gap:4px;position:static
}

@media (max-width:520px) {
  .jk panel:nth-of-type(1) grid {
    grid-template-columns:repeat(6,1fr)
  }
}

.jk panel:nth-of-type(1) slot {
  display:flex;position:static;aspect-ratio:1;background:linear-gradient(180deg,#fffef8,#e8ddb9);border:1px solid #c8b98e;align-items:center;justify-content:center;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,border-color .2s;box-shadow:inset 0 0 0 1px #fff,inset 0 -2px 0 rgba(120,110,90,.15);outline:none
}

.jk panel:nth-of-type(1) slot:not([n]) {
  background:repeating-linear-gradient(45deg,#e8ddb9 0 5px,#d4c89a 5px 10px);opacity:.5;cursor:default;border-style:dashed
}

.jk panel:nth-of-type(1) slot[n]::before {
  content:"";display:block;width:58%;height:58%;background:#1a2340;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;transition:transform .3s
}

.jk panel:nth-of-type(1) slot[n]:hover,.jk panel:nth-of-type(1) slot[n]:focus {
  border-color:#c23b4a;box-shadow:0 5px 10px rgba(194,59,74,.45),inset 0 0 0 1px #fff;z-index:5;background:linear-gradient(180deg,#fff,#ffe4e8)
}

.jk panel:nth-of-type(1) slot[n]:hover::before,.jk panel:nth-of-type(1) slot[n]:focus::before {
  background:#c23b4a;transform:scale(1.22) rotate(-8deg) translateY(-2px)
}

/* tooltip：slot 为 static → ::after absolute 冒泡至 inv(relative)，固定在顶部 tip 槽 */

.jk panel:nth-of-type(1) slot[n]:hover::after,.jk panel:nth-of-type(1) slot[n]:focus::after {
  content:"【" attr(n) "】　" attr(d);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;position:absolute;top:0;left:0;right:0;width:auto;height:48px;padding:6px 14px 6px 22px;background:linear-gradient(90deg,#0f1a36,#2a3a5c 60%,#4a6894);color:#fff;font-size:11px;line-height:1.55;letter-spacing:.3px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.18),inset 0 -2px 0 #ffd6a8,inset 5px 0 0 #c23b4a;z-index:20;pointer-events:none;font-weight:400;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;animation:tipIn .25s ease-out
}

@keyframes tipIn {
  from{opacity:0}to{opacity:1}
}

/* 图标映射（中文关键词） */

/* 手机／电话：翻盖手机+听筒+Home键+摄像头 */

.jk panel:nth-of-type(1) slot[n*="手机"]::before,
.jk panel:nth-of-type(1) slot[n*="电话"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='6' y='1.5' width='12' height='21' rx='2.4' fill='black'/><rect x='7.6' y='4.2' width='8.8' height='12.6' rx='.7' fill='white'/><rect x='10.4' y='2.7' width='3.2' height='.9' rx='.45' fill='white'/><circle cx='15.6' cy='3.1' r='.5' fill='white'/><circle cx='12' cy='19.7' r='1.4' fill='white'/><path d='M9.5 7l2 2.5 5-4' stroke='black' stroke-width='1' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='6' y='1.5' width='12' height='21' rx='2.4' fill='black'/><rect x='7.6' y='4.2' width='8.8' height='12.6' rx='.7' fill='white'/><rect x='10.4' y='2.7' width='3.2' height='.9' rx='.45' fill='white'/><circle cx='15.6' cy='3.1' r='.5' fill='white'/><circle cx='12' cy='19.7' r='1.4' fill='white'/><path d='M9.5 7l2 2.5 5-4' stroke='black' stroke-width='1' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

/* 书／本／集：带书脊厚度的精装书 */

.jk panel:nth-of-type(1) slot[n*="书"]::before,
.jk panel:nth-of-type(1) slot[n*="本"]::before,
.jk panel:nth-of-type(1) slot[n*="集"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 3.5h13.5a2.5 2.5 0 0 1 2.5 2.5v15.5H6.5A2.5 2.5 0 0 1 4 19z' fill='black'/><path d='M6.5 21.5a2.5 2.5 0 0 1 0-5H20' stroke='black' stroke-width='1.1' fill='none'/><path d='M8 7h7M8 9.5h7M8 12h5' stroke='white' stroke-width='1.1' stroke-linecap='round'/><rect x='14' y='3.5' width='1' height='6' fill='white'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 3.5h13.5a2.5 2.5 0 0 1 2.5 2.5v15.5H6.5A2.5 2.5 0 0 1 4 19z' fill='black'/><path d='M6.5 21.5a2.5 2.5 0 0 1 0-5H20' stroke='black' stroke-width='1.1' fill='none'/><path d='M8 7h7M8 9.5h7M8 12h5' stroke='white' stroke-width='1.1' stroke-linecap='round'/><rect x='14' y='3.5' width='1' height='6' fill='white'/></svg>");
}

/* 笔：钢珠笔（笔身+笔夹+笔尖） */

.jk panel:nth-of-type(1) slot[n*="笔"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M17.5 2.2l4.3 4.3-13 13-5 1.3 1.3-5z' fill='black'/><path d='M15.5 4.2l4.3 4.3' stroke='white' stroke-width='1' /><path d='M5.5 17l1.7 1.7' stroke='white' stroke-width='1'/><path d='M16.2 3.5l1.8-.6' stroke='black' stroke-width='2.4' stroke-linecap='round'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M17.5 2.2l4.3 4.3-13 13-5 1.3 1.3-5z' fill='black'/><path d='M15.5 4.2l4.3 4.3' stroke='white' stroke-width='1' /><path d='M5.5 17l1.7 1.7' stroke='white' stroke-width='1'/><path d='M16.2 3.5l1.8-.6' stroke='black' stroke-width='2.4' stroke-linecap='round'/></svg>");
}

/* 票／券：带锯齿撕口的票根 */

.jk panel:nth-of-type(1) slot[n*="票"]::before,
.jk panel:nth-of-type(1) slot[n*="券"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2 7.5a1.5 1.5 0 0 1 1.5-1.5H20.5A1.5 1.5 0 0 1 22 7.5v2a2 2 0 0 0 0 4v2A1.5 1.5 0 0 1 20.5 17H3.5A1.5 1.5 0 0 1 2 15.5v-2a2 2 0 0 0 0-4z' fill='black'/><path d='M14 7v10' stroke='white' stroke-width='1' stroke-dasharray='1.5 1.5'/><path d='M5 10h6M5 12.5h5' stroke='white' stroke-width='.9' stroke-linecap='round'/><circle cx='17.5' cy='11.5' r='1.6' fill='white'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M2 7.5a1.5 1.5 0 0 1 1.5-1.5H20.5A1.5 1.5 0 0 1 22 7.5v2a2 2 0 0 0 0 4v2A1.5 1.5 0 0 1 20.5 17H3.5A1.5 1.5 0 0 1 2 15.5v-2a2 2 0 0 0 0-4z' fill='black'/><path d='M14 7v10' stroke='white' stroke-width='1' stroke-dasharray='1.5 1.5'/><path d='M5 10h6M5 12.5h5' stroke='white' stroke-width='.9' stroke-linecap='round'/><circle cx='17.5' cy='11.5' r='1.6' fill='white'/></svg>");
}

/* 符／守：御守（流苏+挂绳+结） */

.jk panel:nth-of-type(1) slot[n*="符"]::before,
.jk panel:nth-of-type(1) slot[n*="守"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.5l-1.5 1.5h3z' fill='black'/><path d='M9 4h6l.5 1.5h-7z' fill='black'/><path d='M8.5 5.5h7v13a1 1 0 0 1-.6.9l-2.9 1.3-2.9-1.3a1 1 0 0 1-.6-.9z' fill='black'/><path d='M10.2 9h3.6M10.2 11.5h3.6M11 14h2' stroke='white' stroke-width='.9' stroke-linecap='round'/><path d='M11 19l1 1.4 1-1.4' stroke='white' stroke-width='.8' fill='none'/><path d='M11.3 5.5l.7-1.5.7 1.5' fill='white'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.5l-1.5 1.5h3z' fill='black'/><path d='M9 4h6l.5 1.5h-7z' fill='black'/><path d='M8.5 5.5h7v13a1 1 0 0 1-.6.9l-2.9 1.3-2.9-1.3a1 1 0 0 1-.6-.9z' fill='black'/><path d='M10.2 9h3.6M10.2 11.5h3.6M11 14h2' stroke='white' stroke-width='.9' stroke-linecap='round'/><path d='M11 19l1 1.4 1-1.4' stroke='white' stroke-width='.8' fill='none'/><path d='M11.3 5.5l.7-1.5.7 1.5' fill='white'/></svg>");
}

/* 信／笺：信封+封蜡爱心 */

.jk panel:nth-of-type(1) slot[n*="信"]::before,
.jk panel:nth-of-type(1) slot[n*="笺"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='2.5' y='5' width='19' height='14' rx='1.2' fill='black'/><path d='M2.5 5.6l9.5 7 9.5-7' stroke='white' stroke-width='1.3' fill='none' stroke-linejoin='round'/><path d='M12 13.5c-1.6-1.2-3-2.1-3-3.3a1.5 1.5 0 0 1 3-.5 1.5 1.5 0 0 1 3 .5c0 1.2-1.4 2.1-3 3.3z' fill='white' stroke='black' stroke-width='.4'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='2.5' y='5' width='19' height='14' rx='1.2' fill='black'/><path d='M2.5 5.6l9.5 7 9.5-7' stroke='white' stroke-width='1.3' fill='none' stroke-linejoin='round'/><path d='M12 13.5c-1.6-1.2-3-2.1-3-3.3a1.5 1.5 0 0 1 3-.5 1.5 1.5 0 0 1 3 .5c0 1.2-1.4 2.1-3 3.3z' fill='white' stroke='black' stroke-width='.4'/></svg>");
}

/* 钱／币：日元硬币（外环+¥） */

.jk panel:nth-of-type(1) slot[n*="钱"]::before,
.jk panel:nth-of-type(1) slot[n*="币"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='10' fill='black'/><circle cx='12' cy='12' r='8' fill='none' stroke='white' stroke-width='.8'/><path d='M8.5 7.5l3.5 5 3.5-5M8.5 13h7M8.5 15h7M12 12.5v4' stroke='white' stroke-width='1.4' stroke-linecap='round' fill='none'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='10' fill='black'/><circle cx='12' cy='12' r='8' fill='none' stroke='white' stroke-width='.8'/><path d='M8.5 7.5l3.5 5 3.5-5M8.5 13h7M8.5 15h7M12 12.5v4' stroke='white' stroke-width='1.4' stroke-linecap='round' fill='none'/></svg>");
}

/* 糖：扭结糖（带糖纸卷边） */

.jk panel:nth-of-type(1) slot[n*="糖"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><ellipse cx='12' cy='12' rx='5.5' ry='4' fill='black'/><path d='M6.5 12l-4.5-3v6zm-.2-.5l-3 3 .3-3-.3-3zM17.5 12l4.5-3v6zm.2-.5l3 3-.3-3 .3-3z' fill='black'/><path d='M9.5 10.5l1.5 1.5 1.5-1.5M9.5 13l1.5-1.5 1.5 1.5' stroke='white' stroke-width='.8' fill='none'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><ellipse cx='12' cy='12' rx='5.5' ry='4' fill='black'/><path d='M6.5 12l-4.5-3v6zm-.2-.5l-3 3 .3-3-.3-3zM17.5 12l4.5-3v6zm.2-.5l3 3-.3-3 .3-3z' fill='black'/><path d='M9.5 10.5l1.5 1.5 1.5-1.5M9.5 13l1.5-1.5 1.5 1.5' stroke='white' stroke-width='.8' fill='none'/></svg>");
}

/* 帕／巾：折叠手帕 */

.jk panel:nth-of-type(1) slot[n*="帕"]::before,
.jk panel:nth-of-type(1) slot[n*="巾"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3' y='3' width='18' height='18' rx='1' fill='black'/><path d='M3 3l9 9 9-9M3 21l9-9 9 9M3 3v18M21 3v18' stroke='white' stroke-width='.7' fill='none'/><path d='M16 17l1.5 1.5 1.5-1.5' stroke='white' stroke-width='.8' fill='none'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3' y='3' width='18' height='18' rx='1' fill='black'/><path d='M3 3l9 9 9-9M3 21l9-9 9 9M3 3v18M21 3v18' stroke='white' stroke-width='.7' fill='none'/><path d='M16 17l1.5 1.5 1.5-1.5' stroke='white' stroke-width='.8' fill='none'/></svg>");
}

/* 卡：IC卡（含芯片+磁条） */

.jk panel:nth-of-type(1) slot[n*="卡"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='1.5' y='4.5' width='21' height='15' rx='2' fill='black'/><rect x='1.5' y='7.5' width='21' height='3' fill='white'/><rect x='4' y='13' width='4.5' height='3.5' rx='.4' fill='white'/><path d='M5 14.2h2.5M5 15.4h2.5' stroke='black' stroke-width='.4'/><path d='M11 14h8M11 16h6' stroke='white' stroke-width='.9' stroke-linecap='round'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='1.5' y='4.5' width='21' height='15' rx='2' fill='black'/><rect x='1.5' y='7.5' width='21' height='3' fill='white'/><rect x='4' y='13' width='4.5' height='3.5' rx='.4' fill='white'/><path d='M5 14.2h2.5M5 15.4h2.5' stroke='black' stroke-width='.4'/><path d='M11 14h8M11 16h6' stroke='white' stroke-width='.9' stroke-linecap='round'/></svg>");
}

/* 耳机／音乐：头戴式轮廓+耳罩 */

.jk panel:nth-of-type(1) slot[n*="耳机"]::before,
.jk panel:nth-of-type(1) slot[n*="音乐"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 13v-1a8 8 0 0 1 16 0v1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/><rect x='2.5' y='13' width='4.5' height='7' rx='1.4' fill='black'/><rect x='17' y='13' width='4.5' height='7' rx='1.4' fill='black'/><circle cx='4.7' cy='16.5' r='.7' fill='white'/><circle cx='19.3' cy='16.5' r='.7' fill='white'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 13v-1a8 8 0 0 1 16 0v1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/><rect x='2.5' y='13' width='4.5' height='7' rx='1.4' fill='black'/><rect x='17' y='13' width='4.5' height='7' rx='1.4' fill='black'/><circle cx='4.7' cy='16.5' r='.7' fill='white'/><circle cx='19.3' cy='16.5' r='.7' fill='white'/></svg>");
}

/* 钥／匙：经典钥匙 */

.jk panel:nth-of-type(1) slot[n*="钥"]::before,
.jk panel:nth-of-type(1) slot[n*="匙"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='7' cy='12' r='4.5' fill='black'/><circle cx='7' cy='12' r='1.7' fill='white'/><path d='M11.5 12h10v2.5h-2v-2.5M16.5 12v3' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='7' cy='12' r='4.5' fill='black'/><circle cx='7' cy='12' r='1.7' fill='white'/><path d='M11.5 12h10v2.5h-2v-2.5M16.5 12v3' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/></svg>");
}

/* 伞：弯把+伞骨分隔 */

.jk panel:nth-of-type(1) slot[n*="伞"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.2c-5.5 0-9.5 4.5-9.5 9h19c0-4.5-4-9-9.5-9z' fill='black'/><path d='M12 2.2v9M6 11.2c.5-3.5 2.5-7 6-9 3.5 2 5.5 5.5 6 9' stroke='white' stroke-width='.9' fill='none'/><path d='M12 11.2v8.5a2.3 2.3 0 0 0 4.6 0v-.5' stroke='black' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2.2c-5.5 0-9.5 4.5-9.5 9h19c0-4.5-4-9-9.5-9z' fill='black'/><path d='M12 2.2v9M6 11.2c.5-3.5 2.5-7 6-9 3.5 2 5.5 5.5 6 9' stroke='white' stroke-width='.9' fill='none'/><path d='M12 11.2v8.5a2.3 2.3 0 0 0 4.6 0v-.5' stroke='black' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");
}

/* 镜：粉盒手镜+手柄 */

.jk panel:nth-of-type(1) slot[n*="镜"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='10' cy='9' r='7' fill='black'/><circle cx='10' cy='9' r='4.5' fill='white'/><path d='M7.5 7.5a3 3 0 0 1 3-2' stroke='black' stroke-width='.9' fill='none' stroke-linecap='round'/><path d='M14.5 14l6.5 6.5a1.4 1.4 0 0 1-2 2L12.5 16' fill='black'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='10' cy='9' r='7' fill='black'/><circle cx='10' cy='9' r='4.5' fill='white'/><path d='M7.5 7.5a3 3 0 0 1 3-2' stroke='black' stroke-width='.9' fill='none' stroke-linecap='round'/><path d='M14.5 14l6.5 6.5a1.4 1.4 0 0 1-2 2L12.5 16' fill='black'/></svg>");
}

/* 表：腕表（表盘+表带+表冠） */

.jk panel:nth-of-type(1) slot[n*="表"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M8 2.2h8l-.6 4.3H8.6z' fill='black'/><path d='M8 21.8h8l-.6-4.3H8.6z' fill='black'/><circle cx='12' cy='12' r='6.5' fill='black'/><circle cx='12' cy='12' r='5' fill='white'/><path d='M12 8.5v3.7l2.6 1.6' stroke='black' stroke-width='1.2' fill='none' stroke-linecap='round'/><rect x='18' y='10.5' width='2.2' height='3' fill='black'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M8 2.2h8l-.6 4.3H8.6z' fill='black'/><path d='M8 21.8h8l-.6-4.3H8.6z' fill='black'/><circle cx='12' cy='12' r='6.5' fill='black'/><circle cx='12' cy='12' r='5' fill='white'/><path d='M12 8.5v3.7l2.6 1.6' stroke='black' stroke-width='1.2' fill='none' stroke-linecap='round'/><rect x='18' y='10.5' width='2.2' height='3' fill='black'/></svg>");
}

/* 梳：带把手的木梳 */

.jk panel:nth-of-type(1) slot[n*="梳"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3.5 8.5h13v3H3.5z' fill='black'/><rect x='16' y='9' width='5' height='2' rx='.8' fill='black'/><path d='M5 11.5v6M7 11.5v7M9 11.5v6M11 11.5v7M13 11.5v6M15 11.5v7' stroke='black' stroke-width='1.4' stroke-linecap='round'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3.5 8.5h13v3H3.5z' fill='black'/><rect x='16' y='9' width='5' height='2' rx='.8' fill='black'/><path d='M5 11.5v6M7 11.5v7M9 11.5v6M11 11.5v7M13 11.5v6M15 11.5v7' stroke='black' stroke-width='1.4' stroke-linecap='round'/></svg>");
}

/* 花：樱花五瓣 */

.jk panel:nth-of-type(1) slot[n*="花"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g transform='translate(12 12)'><g id='p'><path d='M0 -3 C 3 -8 5 -10 0 -10.5 C -5 -10 -3 -8 0 -3 Z' fill='black'/></g><use href='#p' transform='rotate(72)'/><use href='#p' transform='rotate(144)'/><use href='#p' transform='rotate(216)'/><use href='#p' transform='rotate(288)'/><circle r='2.2' fill='white'/><circle r='1' fill='black'/></g></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g transform='translate(12 12)'><g id='p'><path d='M0 -3 C 3 -8 5 -10 0 -10.5 C -5 -10 -3 -8 0 -3 Z' fill='black'/></g><use href='#p' transform='rotate(72)'/><use href='#p' transform='rotate(144)'/><use href='#p' transform='rotate(216)'/><use href='#p' transform='rotate(288)'/><circle r='2.2' fill='white'/><circle r='1' fill='black'/></g></svg>");
}

/* 药：胶囊+药板压痕 */

.jk panel:nth-of-type(1) slot[n*="药"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3' y='7' width='18' height='10' rx='5' fill='black' transform='rotate(-22 12 12)'/><path d='M5.3 14.7l13.4-5.4' stroke='white' stroke-width='1.3'/><circle cx='8.5' cy='10' r='.6' fill='white'/><circle cx='15.5' cy='14' r='.6' fill='white'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='3' y='7' width='18' height='10' rx='5' fill='black' transform='rotate(-22 12 12)'/><path d='M5.3 14.7l13.4-5.4' stroke='white' stroke-width='1.3'/><circle cx='8.5' cy='10' r='.6' fill='white'/><circle cx='15.5' cy='14' r='.6' fill='white'/></svg>");
}

/* 茶／饮：饮料罐+拉环 */

.jk panel:nth-of-type(1) slot[n*="茶"]::before,
.jk panel:nth-of-type(1) slot[n*="饮"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 4.5h10v15a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2z' fill='black'/><rect x='7' y='4.5' width='10' height='1.4' fill='white'/><rect x='10' y='2.8' width='4' height='1.7' rx='.5' fill='black'/><circle cx='12' cy='3.6' r='.5' fill='white'/><path d='M9 10h6M9 12.5h6M9 15h4' stroke='white' stroke-width='.9' stroke-linecap='round'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 4.5h10v15a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2z' fill='black'/><rect x='7' y='4.5' width='10' height='1.4' fill='white'/><rect x='10' y='2.8' width='4' height='1.7' rx='.5' fill='black'/><circle cx='12' cy='3.6' r='.5' fill='white'/><path d='M9 10h6M9 12.5h6M9 15h4' stroke='white' stroke-width='.9' stroke-linecap='round'/></svg>");
}

/* 包：书包/通学包（带肩带+卡扣） */

.jk panel:nth-of-type(1) slot[n*="包"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 4.5a3 3 0 0 1 6 0' fill='none' stroke='black' stroke-width='1.4'/><path d='M3 8h18v12.5a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 20.5z' fill='black'/><rect x='10' y='12' width='4' height='3.5' rx='.3' fill='white'/><circle cx='12' cy='13.7' r='.5' fill='black'/><path d='M3 11h18' stroke='white' stroke-width='.8'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 4.5a3 3 0 0 1 6 0' fill='none' stroke='black' stroke-width='1.4'/><path d='M3 8h18v12.5a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 20.5z' fill='black'/><rect x='10' y='12' width='4' height='3.5' rx='.3' fill='white'/><circle cx='12' cy='13.7' r='.5' fill='black'/><path d='M3 11h18' stroke='white' stroke-width='.8'/></svg>");
}

/* ─── 新增物品类型（顺序在 书/花/本/笔 之后，确保歧义被覆盖） ─── */

/* 果：苹果（水果通用） */

.jk panel:nth-of-type(1) slot[n*="果"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 6c-1-2 1-3 3-3-.2 1.6-1.2 2.7-3 3z' fill='black'/><path d='M12 6c-3-1-7 .5-7 5.5 0 6 4.5 10.5 7 10.5s7-4.5 7-10.5c0-5-4-6.5-7-5.5z' fill='black'/><path d='M9 10c-.6 1-1 2.2-1 3.5' stroke='white' stroke-width='.9' fill='none' stroke-linecap='round'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 6c-1-2 1-3 3-3-.2 1.6-1.2 2.7-3 3z' fill='black'/><path d='M12 6c-3-1-7 .5-7 5.5 0 6 4.5 10.5 7 10.5s7-4.5 7-10.5c0-5-4-6.5-7-5.5z' fill='black'/><path d='M9 10c-.6 1-1 2.2-1 3.5' stroke='white' stroke-width='.9' fill='none' stroke-linecap='round'/></svg>");
}

/* 便当／饭：便当盒（分格） */

.jk panel:nth-of-type(1) slot[n*="便当"]::before,
.jk panel:nth-of-type(1) slot[n*="饭"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='2.5' y='6' width='19' height='13' rx='1.5' fill='black'/><rect x='4' y='8' width='7' height='9' fill='white'/><rect x='12' y='8' width='8' height='4' fill='white'/><rect x='12' y='13' width='8' height='4' fill='white'/><circle cx='7.5' cy='12.5' r='1.2' fill='black'/><path d='M13 10h6M13 15h6' stroke='black' stroke-width='.7' stroke-dasharray='1.5 1'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='2.5' y='6' width='19' height='13' rx='1.5' fill='black'/><rect x='4' y='8' width='7' height='9' fill='white'/><rect x='12' y='8' width='8' height='4' fill='white'/><rect x='12' y='13' width='8' height='4' fill='white'/><circle cx='7.5' cy='12.5' r='1.2' fill='black'/><path d='M13 10h6M13 15h6' stroke='black' stroke-width='.7' stroke-dasharray='1.5 1'/></svg>");
}

/* 巧克力：方块巧克力 */

.jk panel:nth-of-type(1) slot[n*="巧"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='4' y='4' width='16' height='16' rx='1.2' fill='black'/><path d='M4 9h16M4 14h16M9 4v16M14 4v16' stroke='white' stroke-width='1'/><path d='M5 5l1 1M14 5l1 1M19 5l1 1M5 19l1 1' stroke='white' stroke-width='.6'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='4' y='4' width='16' height='16' rx='1.2' fill='black'/><path d='M4 9h16M4 14h16M9 4v16M14 4v16' stroke='white' stroke-width='1'/><path d='M5 5l1 1M14 5l1 1M19 5l1 1M5 19l1 1' stroke='white' stroke-width='.6'/></svg>");
}

/* 相／照：相机 */

.jk panel:nth-of-type(1) slot[n*="相"]::before,
.jk panel:nth-of-type(1) slot[n*="照"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 5l1.4-2h3.2L15 5h5a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z' fill='black'/><circle cx='12' cy='13' r='4' fill='white'/><circle cx='12' cy='13' r='2' fill='black'/><circle cx='18.5' cy='8' r='.7' fill='white'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M9 5l1.4-2h3.2L15 5h5a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2z' fill='black'/><circle cx='12' cy='13' r='4' fill='white'/><circle cx='12' cy='13' r='2' fill='black'/><circle cx='18.5' cy='8' r='.7' fill='white'/></svg>");
}

/* 香水：方瓶+喷头 */

.jk panel:nth-of-type(1) slot[n*="香水"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='9' y='2.5' width='6' height='2.5' fill='black'/><rect x='9.5' y='5' width='5' height='2' fill='black'/><rect x='5.5' y='7' width='13' height='14' rx='1.5' fill='black'/><rect x='8' y='11' width='8' height='6' fill='white'/><path d='M10 12.5h4M10 14h4M10 15.5h4' stroke='black' stroke-width='.6'/><rect x='15.5' y='3' width='3.5' height='1.4' fill='black'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='9' y='2.5' width='6' height='2.5' fill='black'/><rect x='9.5' y='5' width='5' height='2' fill='black'/><rect x='5.5' y='7' width='13' height='14' rx='1.5' fill='black'/><rect x='8' y='11' width='8' height='6' fill='white'/><path d='M10 12.5h4M10 14h4M10 15.5h4' stroke='black' stroke-width='.6'/><rect x='15.5' y='3' width='3.5' height='1.4' fill='black'/></svg>");
}

/* 链／坠：项链 */

.jk panel:nth-of-type(1) slot[n*="链"]::before,
.jk panel:nth-of-type(1) slot[n*="坠"]::before,
.jk panel:nth-of-type(1) slot[n*="项"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 4c2 7 6 11 8 11s6-4 8-11' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-dasharray='1.8 1.4'/><path d='M12 15l-2.2 3.5h4.4z' fill='black'/><circle cx='12' cy='20.5' r='1.6' fill='black'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 4c2 7 6 11 8 11s6-4 8-11' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-dasharray='1.8 1.4'/><path d='M12 15l-2.2 3.5h4.4z' fill='black'/><circle cx='12' cy='20.5' r='1.6' fill='black'/></svg>");
}

/* 镯／环：手镯（圆环） */

.jk panel:nth-of-type(1) slot[n*="镯"]::before,
.jk panel:nth-of-type(1) slot[n*="戒"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='14' r='7.5' fill='none' stroke='black' stroke-width='2.4'/><path d='M9 4l1.5 3h3L15 4z' fill='black'/><circle cx='12' cy='5.5' r='1.4' fill='white' stroke='black' stroke-width='1.2'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='14' r='7.5' fill='none' stroke='black' stroke-width='2.4'/><path d='M9 4l1.5 3h3L15 4z' fill='black'/><circle cx='12' cy='5.5' r='1.4' fill='white' stroke='black' stroke-width='1.2'/></svg>");
}

/* 记／日记：螺旋笔记本（置后，覆盖"笔记本"中的笔/本） */

.jk panel:nth-of-type(1) slot[n*="记"]::before,
.jk panel:nth-of-type(1) slot[n*="日记"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='5' y='3' width='15' height='18' rx='.8' fill='black'/><path d='M8 7h9M8 10h9M8 13h9M8 16h6' stroke='white' stroke-width='.9' stroke-linecap='round'/><circle cx='5' cy='6' r='1.2' fill='white' stroke='black' stroke-width='.8'/><circle cx='5' cy='10' r='1.2' fill='white' stroke='black' stroke-width='.8'/><circle cx='5' cy='14' r='1.2' fill='white' stroke='black' stroke-width='.8'/><circle cx='5' cy='18' r='1.2' fill='white' stroke='black' stroke-width='.8'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><rect x='5' y='3' width='15' height='18' rx='.8' fill='black'/><path d='M8 7h9M8 10h9M8 13h9M8 16h6' stroke='white' stroke-width='.9' stroke-linecap='round'/><circle cx='5' cy='6' r='1.2' fill='white' stroke='black' stroke-width='.8'/><circle cx='5' cy='10' r='1.2' fill='white' stroke='black' stroke-width='.8'/><circle cx='5' cy='14' r='1.2' fill='white' stroke='black' stroke-width='.8'/><circle cx='5' cy='18' r='1.2' fill='white' stroke='black' stroke-width='.8'/></svg>");
}

/* 签：书签（置最末，覆盖 书签/押花书签 中的 书/花） */

.jk panel:nth-of-type(1) slot[n*="签"]::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2.5h10v19l-5-3.5-5 3.5z' fill='black'/><path d='M9.5 7h5M9.5 9.5h5M9.5 12h3' stroke='white' stroke-width='.9' stroke-linecap='round'/><circle cx='12' cy='15.5' r='1' fill='white'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2.5h10v19l-5-3.5-5 3.5z' fill='black'/><path d='M9.5 7h5M9.5 9.5h5M9.5 12h3' stroke='white' stroke-width='.9' stroke-linecap='round'/><circle cx='12' cy='15.5' r='1' fill='white'/></svg>");
}

/* ═══ 記憶の栞 Panel 5 ═══ */

.jk panel:nth-of-type(5) {
  counter-reset:mem
}

.jk panel:nth-of-type(5) table {
  width:100%;border-collapse:separate;border-spacing:0;margin:14px 0 18px;font-size:11.5px;background:linear-gradient(180deg,#fffef8,#f6efd8);border:1px solid #c8b98e;border-radius:3px;box-shadow:0 3px 8px rgba(120,110,90,.18),inset 0 0 0 2px #fff;overflow:hidden;position:relative;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s
}

.jk panel:nth-of-type(5) table:hover {
  transform:translateY(-2px);box-shadow:0 8px 18px rgba(120,110,90,.3),inset 0 0 0 2px #fff
}

.jk panel:nth-of-type(5) table::before {
  counter-increment:mem;content:"FILE No." counter(mem,decimal-leading-zero);position:absolute;top:0;right:0;padding:3px 9px 3px 16px;font-size:9px;letter-spacing:2px;font-weight:800;color:#fff;background:linear-gradient(135deg,#3d72c4,#1a3967);clip-path:polygon(12px 0,100% 0,100% 100%,0 100%);z-index:3
}

.jk panel:nth-of-type(5) caption {
  caption-side:top;text-align:left;padding:8px 12px 8px 36px;font-size:12px;font-weight:800;letter-spacing:3px;color:#fff;background:linear-gradient(90deg,#7b52d0,#3c238f);position:relative;border-bottom:2px solid #2a1660
}

.jk panel:nth-of-type(5) caption::before {
  content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;background:#fff;-webkit-mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h13l3 3v13H4z'/><path d='M8 4v6h8V4'/><path d='M7 14h10M7 17h7'/></svg>");mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 4h13l3 3v13H4z'/><path d='M8 4v6h8V4'/><path d='M7 14h10M7 17h7'/></svg>");filter:drop-shadow(1px 1px 0 rgba(0,0,0,.3))
}

.jk panel:nth-of-type(5) table:nth-of-type(2) caption {
  background:linear-gradient(90deg,#00c2c0,#007a79);border-bottom-color:#004746
}

.jk panel:nth-of-type(5) table:nth-of-type(2)::before {
  background:linear-gradient(135deg,#00c2c0,#007a79)
}

.jk panel:nth-of-type(5) table:nth-of-type(3) caption {
  background:linear-gradient(90deg,#c23b4a,#7a1f2a);border-bottom-color:#4a0f18
}

.jk panel:nth-of-type(5) table:nth-of-type(3)::before {
  background:linear-gradient(135deg,#e3a21a,#825a0a);content:"★ CORE ★"
}

.jk panel:nth-of-type(5) table:nth-of-type(3) {
  background:linear-gradient(180deg,#fff8e0,#fbe9b8);border-color:#c89a2a
}

.jk panel:nth-of-type(5) thead th {
  padding:6px 8px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:#3a4665;background:repeating-linear-gradient(135deg,rgba(108,122,156,.08) 0 4px,transparent 4px 8px),#f0e8cc;border-bottom:1px dashed #b8a878;text-align:left
}

.jk panel:nth-of-type(5) tbody td {
  padding:7px 9px;border-bottom:1px dotted #d4c89a;vertical-align:top;line-height:1.55;color:#3a4044;transition:background .25s
}

.jk panel:nth-of-type(5) tbody tr:hover td {
  background:rgba(123,82,208,.08)
}

.jk panel:nth-of-type(5) table:nth-of-type(2) tbody tr:hover td {
  background:rgba(0,194,192,.1)
}

.jk panel:nth-of-type(5) table:nth-of-type(3) tbody tr:hover td {
  background:rgba(227,162,26,.15)
}

.jk panel:nth-of-type(5) tbody td:first-child {
  font-weight:800;color:#c23b4a;text-align:center;width:26px;font-family:"Georgia",serif;font-size:13px
}

.jk panel:nth-of-type(5) tbody td:nth-child(2) {
  color:#3d72c4;font-family:"Consolas",monospace;font-size:10.5px;width:33%;letter-spacing:.3px
}

.jk panel:nth-of-type(5) tbody td:nth-child(3) {
  color:#7a4a8a;font-weight:600;font-size:11px
}

.jk panel:nth-of-type(5) tbody tr:last-child td {
  border-bottom:none
}

/* ═══ ゲーム選択肢 Panel 6 ═══ */

.jk panel:nth-of-type(6) {
  counter-reset:opt;padding-bottom:54px!important
}

.jk panel:nth-of-type(6)::after {
  content:"※ 如果对选项不满意,也可以自由输入行动 ※";position:absolute;bottom:0;left:0;right:0;padding:10px 18px;background:linear-gradient(90deg,#1a3967,#3d72c4,#1a3967);color:#fff8e0;font-size:11px;letter-spacing:2px;font-weight:700;text-align:center;border-top:2px dashed #ffd6df;border-radius:0;width:auto;height:auto;transform:none;box-shadow:0 -4px 12px rgba(26,57,103,.4),inset 0 1px 0 rgba(255,255,255,.25);animation:jkTipPulse 2.4s ease-in-out infinite;opacity:1;z-index:5;display:block
}

@keyframes jkTipPulse {
  0%,100%{text-shadow:0 0 4px rgba(255,214,223,.4)}50%{text-shadow:0 0 12px rgba(255,214,223,.9),0 0 2px #fff}
}

.jk panel:nth-of-type(6) ol {
  list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:12px
}

.jk panel:nth-of-type(6) ol li {
  counter-increment:opt;position:relative;padding:14px 44px 14px 56px;background:linear-gradient(135deg,#fffef8 0%,#f6efd8 100%);border:1.5px solid #3d72c4;border-radius:4px 14px 4px 14px;font-size:13px;line-height:1.6;color:#22242c;cursor:pointer;box-shadow:3px 3px 0 rgba(61,114,196,.25),inset 0 0 0 1px rgba(255,255,255,.6);transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .3s,box-shadow .3s,background .3s,border-color .3s,letter-spacing .3s;overflow:hidden
}

.jk panel:nth-of-type(6) ol li::before {
  content:counter(opt,decimal-leading-zero);position:absolute;left:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,#7ba8e0,#1a3967);color:#fff;font-weight:900;font-family:"Georgia",serif;font-size:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px rgba(26,57,103,.5),inset 0 -2px 4px rgba(0,0,0,.3);transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .3s
}

.jk panel:nth-of-type(6) ol li::after {
  content:"";position:absolute;right:14px;top:50%;width:22px;height:22px;margin-top:-11px;background:#3d72c4;-webkit-mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h13'/><path d='M12 5l7 7-7 7'/></svg>");mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h13'/><path d='M12 5l7 7-7 7'/></svg>");transition:transform .35s,background .3s
}

.jk panel:nth-of-type(6) ol li:hover {
  transform:translateX(8px) scale(1.03);background:linear-gradient(135deg,#fff4e0 0%,#ffd8b0 50%,#ffbca0 100%);border-color:#c84a3a;box-shadow:6px 6px 0 rgba(200,74,58,.35),inset 0 0 0 1px rgba(255,255,255,.8),0 0 18px rgba(255,180,120,.5);letter-spacing:.5px;z-index:2
}

.jk panel:nth-of-type(6) ol li:hover::before {
  background:radial-gradient(circle at 30% 30%,#ffd6a0,#c84a3a);transform:translateY(-50%) rotate(360deg) scale(1.15)
}

.jk panel:nth-of-type(6) ol li:hover::after {
  background:#c84a3a;transform:translateX(4px) scale(1.2)
}

.jk panel:nth-of-type(6) ol:hover li:not(:hover) {
  transform:scale(.96);filter:blur(1.2px) grayscale(.6) brightness(.85);opacity:.55
}

.jk panel:nth-of-type(6) ol:hover li:not(:hover)::before {
  background:radial-gradient(circle at 30% 30%,#aaa,#555)
}

/* ═══ JK-CLUB v3.0 和风·樱金 ═══ */

.jk panel club {
  display:grid;grid-template-columns:1fr;gap:10px;padding:4px 2px 18px;font-size:12.5px;line-height:1.55;color:#2a2e3a
}

.jk panel club hd {
  display:grid;grid-template-columns:74px 1fr auto;gap:0 14px;align-items:center;padding:12px 14px;margin:-4px -4px 2px;background:linear-gradient(135deg,#fffaee 0%,#f1e6c4 50%,#e6d5a0 100%);border:1.5px solid #9d7040;border-left:6px solid #5a3a1a;border-radius:3px;position:relative;box-shadow:inset 0 0 0 2px #fff,0 3px 8px rgba(90,58,26,.22);overflow:hidden;min-height:84px
}

.jk panel club hd::before {
  content:"";grid-row:1;grid-column:1;width:72px;height:72px;display:block;background:radial-gradient(circle at 35% 30%,#fffef4,#ddc88a 75%,#9d7040 100%);border:3px solid #3a2a12;border-radius:50%;box-shadow:inset 0 0 0 2px #fff,inset 0 -8px 14px rgba(90,58,26,.35),0 4px 10px rgba(90,58,26,.4);position:relative;z-index:2;animation:clubBreath 3.6s ease-in-out infinite;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><ellipse cx='40' cy='50' rx='32' ry='18' fill='black'/><path d='M68 50 L88 32 L84 50 L88 68 Z' fill='black'/><circle cx='28' cy='45' r='3' fill='white'/><circle cx='28' cy='45' r='1.5' fill='black'/><path d='M18 50 Q14 48 16 44 M18 54 Q14 56 16 60' stroke='white' stroke-width='2' fill='none' stroke-linecap='round'/><path d='M40 40 Q50 38 56 42 M40 60 Q50 62 56 58' stroke='white' stroke-width='1.5' fill='none' stroke-dasharray='2 3'/><path d='M72 42 L82 38 M72 58 L82 62 M78 50 L84 50' stroke='black' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><ellipse cx='40' cy='50' rx='32' ry='18' fill='black'/><path d='M68 50 L88 32 L84 50 L88 68 Z' fill='black'/><circle cx='28' cy='45' r='3' fill='white'/><circle cx='28' cy='45' r='1.5' fill='black'/><path d='M18 50 Q14 48 16 44 M18 54 Q14 56 16 60' stroke='white' stroke-width='2' fill='none' stroke-linecap='round'/><path d='M40 40 Q50 38 56 42 M40 60 Q50 62 56 58' stroke='white' stroke-width='1.5' fill='none' stroke-dasharray='2 3'/><path d='M72 42 L82 38 M72 58 L82 62 M78 50 L84 50' stroke='black' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");-webkit-mask-size:60px 60px;mask-size:60px 60px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-composite:source-over
}

@keyframes clubBreath {
  0%,100%{transform:scale(1)}50%{transform:scale(1.04)}
}

.jk panel club:not([c="棒球部"]):not([c="剑道部"]):not([c="吹奏部"]):not([c="弓道部"]) hd::before {
  animation:clubLazy 4s ease-in-out infinite
}

@keyframes clubLazy {
  0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}
}

.jk panel club hd nm {
  grid-row:1;grid-column:2;font-size:20px;font-weight:900;letter-spacing:3px;color:#3a2a12;text-shadow:2px 2px 0 rgba(255,255,255,.7);line-height:1.1;align-self:center;position:relative;z-index:2
}

.jk panel club hd nm::after {
  content:"社团活动档案 · CLUB ACTIVITY DATABASE";display:block;font-size:9px;letter-spacing:3px;color:#9d7040;font-weight:600;margin-top:4px;opacity:.85
}

.jk panel club hd::after {
  content:attr(r);grid-row:1;grid-column:3;align-self:center;justify-self:end;padding:6px 14px;background:radial-gradient(ellipse at top,#fffef0,#f0d880);border:2px solid #b8830f;border-radius:3px;font-size:13px;letter-spacing:3px;color:#3a2a08;font-weight:900;box-shadow:inset 0 0 0 1px #fff,0 2px 4px rgba(184,131,15,.4);position:relative;z-index:2;min-width:56px;text-align:center
}

.jk panel club[r="部長"] hd::after,.jk panel club[r="エース"] hd::after {
  background:radial-gradient(ellipse at top,#fffacc,#e8a830);border-color:#8a5a08;animation:rkShine 2.4s ease-in-out infinite
}

@keyframes rkShine {
  0%,100%{box-shadow:inset 0 0 0 1px #fff,0 0 8px #f0c860}50%{box-shadow:inset 0 0 0 1px #fff,0 0 18px #f0c860,0 0 4px #fff}
}

.jk panel club[r="補欠"] hd::after {
  background:linear-gradient(#e8e8e8,#b0b0b0);border-color:#606060;color:#404040
}

.jk panel club[r="幽霊部員"] hd::after {
  background:linear-gradient(#e8e8e8,#b0b0b0);border-color:#606060;color:#404040;opacity:.6;animation:rkGhost 3s ease-in-out infinite
}

@keyframes rkGhost {
  0%,100%{opacity:.5;filter:blur(.3px)}50%{opacity:.9;filter:blur(0)}
}

/* 四大社团主题 + 图标 */

.jk panel club[c="棒球部"] hd {
  background:linear-gradient(135deg,#fff4e8,#ffd8b0 60%,#e89560);border-color:#a84020;border-left-color:#6a1a08
}

.jk panel club[c="棒球部"] hd::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M16 82 L66 32' stroke='black' stroke-width='10' stroke-linecap='round' fill='none'/><path d='M60 26 L72 38' stroke='black' stroke-width='4' stroke-linecap='round'/><circle cx='78' cy='22' r='14' fill='black'/><circle cx='78' cy='22' r='11' fill='white' stroke='black' stroke-width='1.5'/><path d='M68 16 Q78 12 88 18' stroke='%23c23b4a' stroke-width='2' fill='none'/><path d='M68 28 Q78 32 88 26' stroke='%23c23b4a' stroke-width='2' fill='none'/><path d='M70 14l1.5 2.5M73 12l1.5 2.5M76 11l1.5 2.5M80 11l1.5 2.5M84 12l1.5 2.5' stroke='%23c23b4a' stroke-width='1.2' stroke-linecap='round'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M16 82 L66 32' stroke='black' stroke-width='10' stroke-linecap='round' fill='none'/><path d='M60 26 L72 38' stroke='black' stroke-width='4' stroke-linecap='round'/><circle cx='78' cy='22' r='14' fill='black'/><circle cx='78' cy='22' r='11' fill='white' stroke='black' stroke-width='1.5'/><path d='M68 16 Q78 12 88 18' stroke='%23c23b4a' stroke-width='2' fill='none'/><path d='M68 28 Q78 32 88 26' stroke='%23c23b4a' stroke-width='2' fill='none'/><path d='M70 14l1.5 2.5M73 12l1.5 2.5M76 11l1.5 2.5M80 11l1.5 2.5M84 12l1.5 2.5' stroke='%23c23b4a' stroke-width='1.2' stroke-linecap='round'/></svg>")
}

.jk panel club[c="剑道部"] hd {
  background:linear-gradient(135deg,#f0f4ff,#c8d0e8 60%,#6a7aa0);border-color:#2a3a6a;border-left-color:#0f1a36
}

.jk panel club[c="剑道部"] hd nm {
  color:#0a1530
}

.jk panel club[c="剑道部"] hd nm::after {
  color:#2a3a6a
}

.jk panel club[c="剑道部"] hd::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M12 88 L82 18' stroke='black' stroke-width='8' stroke-linecap='round'/><path d='M76 12 L88 24' stroke='black' stroke-width='5' stroke-linecap='round'/><path d='M70 28 L58 16 L74 0 L86 12 Z' fill='black'/><circle cx='30' cy='70' r='18' fill='black'/><circle cx='30' cy='70' r='14' fill='none' stroke='white' stroke-width='2'/><path d='M18 66 Q30 58 42 66 M18 74 Q30 78 42 74' stroke='white' stroke-width='2' fill='none'/><path d='M30 56 L30 84 M16 70 L44 70' stroke='white' stroke-width='1.2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M12 88 L82 18' stroke='black' stroke-width='8' stroke-linecap='round'/><path d='M76 12 L88 24' stroke='black' stroke-width='5' stroke-linecap='round'/><path d='M70 28 L58 16 L74 0 L86 12 Z' fill='black'/><circle cx='30' cy='70' r='18' fill='black'/><circle cx='30' cy='70' r='14' fill='none' stroke='white' stroke-width='2'/><path d='M18 66 Q30 58 42 66 M18 74 Q30 78 42 74' stroke='white' stroke-width='2' fill='none'/><path d='M30 56 L30 84 M16 70 L44 70' stroke='white' stroke-width='1.2'/></svg>")
}

.jk panel club[c="吹奏部"] hd {
  background:linear-gradient(135deg,#fff0fa,#ffcee4 60%,#e878b0);border-color:#a83870;border-left-color:#601a40
}

.jk panel club[c="吹奏部"] hd::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M76 18 Q94 24 94 40 Q94 56 76 60 L30 60 Q14 60 14 74 Q14 88 30 88 L62 88' stroke='black' stroke-width='7' fill='none' stroke-linecap='round' stroke-linejoin='round'/><circle cx='76' cy='18' r='8' fill='black'/><circle cx='66' cy='88' r='7' fill='black'/><rect x='32' y='66' width='7' height='14' fill='black'/><rect x='44' y='66' width='7' height='14' fill='black'/><rect x='56' y='66' width='7' height='14' fill='black'/><path d='M82 36 Q90 40 86 48' stroke='black' stroke-width='2.5' fill='none' stroke-linecap='round'/><path d='M60 22 L66 10 M72 30 L82 24' stroke='black' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M76 18 Q94 24 94 40 Q94 56 76 60 L30 60 Q14 60 14 74 Q14 88 30 88 L62 88' stroke='black' stroke-width='7' fill='none' stroke-linecap='round' stroke-linejoin='round'/><circle cx='76' cy='18' r='8' fill='black'/><circle cx='66' cy='88' r='7' fill='black'/><rect x='32' y='66' width='7' height='14' fill='black'/><rect x='44' y='66' width='7' height='14' fill='black'/><rect x='56' y='66' width='7' height='14' fill='black'/><path d='M82 36 Q90 40 86 48' stroke='black' stroke-width='2.5' fill='none' stroke-linecap='round'/><path d='M60 22 L66 10 M72 30 L82 24' stroke='black' stroke-width='2' fill='none' stroke-linecap='round'/></svg>")
}

.jk panel club[c="弓道部"] hd {
  background:linear-gradient(135deg,#f4ffe8,#d8eab0 60%,#90a850);border-color:#4a6a20;border-left-color:#1f3a08
}

.jk panel club[c="弓道部"] hd::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M26 6 Q66 26 66 50 Q66 74 26 94' stroke='black' stroke-width='7' fill='none' stroke-linecap='round'/><path d='M20 6 L32 6 M20 94 L32 94' stroke='black' stroke-width='4' stroke-linecap='round'/><path d='M26 10 L26 90' stroke='black' stroke-width='1.5' stroke-dasharray='3 3'/><path d='M26 50 L90 50' stroke='black' stroke-width='5' stroke-linecap='round'/><path d='M82 42 L94 50 L82 58' fill='black' stroke='black' stroke-width='2' stroke-linejoin='round'/><path d='M26 50 L14 42 M26 50 L14 58 M14 42 L14 58' stroke='black' stroke-width='3' fill='none' stroke-linecap='round'/><circle cx='26' cy='50' r='4' fill='black'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M26 6 Q66 26 66 50 Q66 74 26 94' stroke='black' stroke-width='7' fill='none' stroke-linecap='round'/><path d='M20 6 L32 6 M20 94 L32 94' stroke='black' stroke-width='4' stroke-linecap='round'/><path d='M26 10 L26 90' stroke='black' stroke-width='1.5' stroke-dasharray='3 3'/><path d='M26 50 L90 50' stroke='black' stroke-width='5' stroke-linecap='round'/><path d='M82 42 L94 50 L82 58' fill='black' stroke='black' stroke-width='2' stroke-linejoin='round'/><path d='M26 50 L14 42 M26 50 L14 58 M14 42 L14 58' stroke='black' stroke-width='3' fill='none' stroke-linecap='round'/><circle cx='26' cy='50' r='4' fill='black'/></svg>")
}

/* ━━━ STATS：label上·数值下 ━━━ */

.jk panel club stats {
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px
}

.jk panel club stats t {
  display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;background:linear-gradient(180deg,#fffef8,#f0e6c8);border:1px solid #c8b98e;border-top:3px solid #9d7040;border-radius:2px;font-size:16px;font-weight:900;color:#2a3a5c;font-family:"Arial Black",sans-serif;letter-spacing:0;position:relative;transition:.25s;cursor:default;min-height:50px
}

.jk panel club stats t::before {
  order:-1;font-size:9px;font-weight:600;letter-spacing:1.5px;color:#7a6540;margin-bottom:3px;font-family:"Yu Gothic UI",sans-serif
}

.jk panel club stats t[k="部員"]::before {
  content:"部员数"
}

.jk panel club stats t[k="活動"]::before {
  content:"周活动"
}

.jk panel club stats t[k="士気"]::before {
  content:"士气值"
}

.jk panel club stats t[k="予算"]::before {
  content:"年预算"
}

.jk panel club stats t[k="士気"] {
  color:#c23b4a
}

.jk panel club stats t:hover {
  transform:translateY(-2px);box-shadow:0 4px 8px rgba(157,112,64,.3);border-top-color:#c23b4a
}

.jk panel club stats t:hover::before {
  color:#c23b4a
}

/* ━━━ SKILLS：御朱印格子式 ━━━ */

.jk panel club skills {
  display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:4px;padding:14px 10px 10px;background:linear-gradient(180deg,rgba(42,58,92,.04),rgba(42,58,92,.1));border:1px dashed #4a6894;border-radius:2px;position:relative
}

.jk panel club skills::before {
  content:"◤ 修炼书 · SKILL TREE ◢";position:absolute;top:-9px;left:14px;padding:1px 10px;background:#2a3a5c;color:#ffd880;font-size:9px;letter-spacing:3px;font-weight:800
}

.jk panel club skills::after {
  content:"每格一印 · 满十印为极";position:absolute;top:-8px;right:12px;font-size:8px;letter-spacing:1px;color:#4a6894;background:#fffef8;padding:0 6px;font-weight:600
}

.jk panel club sk {
  display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:4px 6px;padding:7px 9px 8px;background:linear-gradient(180deg,#fff,#f4ecd6);border:1px solid #c8b98e;border-radius:2px;position:relative;overflow:hidden;cursor:default;transition:.3s
}

.jk panel club sk:hover {
  transform:translateX(3px);box-shadow:-3px 3px 0 rgba(42,58,92,.25),3px 3px 6px rgba(0,0,0,.1);border-color:#2a3a5c
}

.jk panel club sk:hover::before {
  letter-spacing:2.5px;color:#c23b4a
}

.jk panel club sk::before {
  content:attr(n);grid-row:1;grid-column:1;font-size:11.5px;font-weight:800;color:#2a3a5c;letter-spacing:1.5px;transition:.3s
}

.jk panel club sk::after {
  content:"印 " attr(lv) "/10";grid-row:1;grid-column:2;font-size:9.5px;font-weight:900;color:#c23b4a;letter-spacing:1px;align-self:center;padding:1px 6px;background:#fff6ea;border:1px solid #c23b4a;border-radius:1px
}

.jk panel club sk[lv="10"]::after {
  content:"极 MAX";background:linear-gradient(#f0c860,#e8a830);color:#3a1a08;border-color:#8a5a08;animation:skMax 1.8s ease-in-out infinite
}

@keyframes skMax {
  0%,100%{box-shadow:0 0 0 0 #f0c860}50%{box-shadow:0 0 0 3px rgba(240,200,96,.4)}
}

.jk panel club sk bar {
  grid-row:2;grid-column:1/-1;display:block;height:18px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><rect x='2.5' y='2.5' width='15' height='15' fill='none' stroke='%23c8b98e' stroke-width='.8' stroke-dasharray='1.8 1.4' rx='.5'/><circle cx='10' cy='10' r='1.2' fill='%23c8b98e' opacity='.35'/></svg>");background-size:10% 100%;background-repeat:repeat-x;border:1px solid #9d7040;border-radius:1px;position:relative;overflow:hidden
}

.jk panel club sk bar::before {
  content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><g transform='rotate(-3 10 10)'><rect x='1.8' y='1.8' width='16.4' height='16.4' fill='%23c23b4a' rx='1'/><rect x='2.8' y='2.8' width='14.4' height='14.4' fill='none' stroke='%23fff8e8' stroke-width='.5' opacity='.8' rx='.5'/><path d='M6 10.5 L9 13.5 L14.5 7' stroke='%23fff8e8' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/><circle cx='15' cy='4' r='.9' fill='%23fff' opacity='.5'/></g></svg>");background-size:10% 100%;background-repeat:repeat-x;clip-path:inset(0 100% 0 0);transition:clip-path 1.4s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(.5px .5px 0 rgba(90,10,20,.4))
}

.jk panel club sk[lv="1"] bar::before {
  clip-path:inset(0 90% 0 0)
}

.jk panel club sk[lv="2"] bar::before {
  clip-path:inset(0 80% 0 0)
}

.jk panel club sk[lv="3"] bar::before {
  clip-path:inset(0 70% 0 0)
}

.jk panel club sk[lv="4"] bar::before {
  clip-path:inset(0 60% 0 0)
}

.jk panel club sk[lv="5"] bar::before {
  clip-path:inset(0 50% 0 0)
}

.jk panel club sk[lv="6"] bar::before {
  clip-path:inset(0 40% 0 0)
}

.jk panel club sk[lv="7"] bar::before {
  clip-path:inset(0 30% 0 0)
}

.jk panel club sk[lv="8"] bar::before {
  clip-path:inset(0 20% 0 0)
}

.jk panel club sk[lv="9"] bar::before {
  clip-path:inset(0 10% 0 0)
}

.jk panel club sk[lv="10"] bar::before {
  clip-path:inset(0 0 0 0);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><g transform='rotate(-3 10 10)'><rect x='1.8' y='1.8' width='16.4' height='16.4' fill='%23b8830f' rx='1'/><text x='10' y='13.5' text-anchor='middle' font-size='11' font-weight='900' fill='%23fff8e8' font-family='serif'>极</text><circle cx='15' cy='4' r='.9' fill='%23fff' opacity='.6'/></g></svg>");animation:skGold 2s ease-in-out infinite
}

@keyframes skGold {
  0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 3px #f0c860)}
}

.jk panel club sk bar::after {
  content:"";position:absolute;top:-2px;bottom:-2px;left:-20%;width:15%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);animation:skShine 3.2s ease-in-out infinite;animation-delay:var(--d,0s);pointer-events:none
}

.jk panel club sk:nth-of-type(2) bar::after {
  --d:.6s
}

.jk panel club sk:nth-of-type(3) bar::after {
  --d:1.2s
}

.jk panel club sk:nth-of-type(4) bar::after {
  --d:1.8s
}

@keyframes skShine {
  0%{left:-20%}55%,100%{left:115%}
}

.jk panel club sk d {
  grid-row:3;grid-column:1/-1;font-size:9.5px;color:#7a6540;letter-spacing:.3px;line-height:1.45;padding-top:4px;border-top:1px dotted #c8b98e
}

/* ━━━ GOAL：朱金渐变 · 樱花和纸卷 ━━━ */

.jk panel club goal {
  position:relative;margin-top:4px;padding:14px 18px 18px;background:linear-gradient(135deg,#2a3a5c 0%,#1a2340 100%);border-radius:2px;color:#fff;box-shadow:inset 0 0 0 2px rgba(240,200,96,.35),0 4px 10px rgba(20,30,60,.4);overflow:hidden
}

.jk panel club goal::before {
  content:"▼ 年度目标 · ANNUAL GOAL";position:absolute;top:10px;right:16px;font-size:9px;letter-spacing:3px;color:#f0c860;font-weight:700;opacity:.9
}

.jk panel club goal::after {
  content:"达成度 " attr(p) "％";position:absolute;bottom:22px;right:22px;font-size:12px;font-weight:900;color:#fff8e4;letter-spacing:1.5px;font-family:"Arial Black",sans-serif;text-shadow:0 0 8px rgba(240,200,96,.7),1px 1px 0 #1a0608;padding:2px 8px;background:linear-gradient(135deg,#8a1a1a,#c23b4a);border:1px solid #f0c860;border-radius:50%;transform:rotate(-6deg)
}

.jk panel club goal txt {
  display:block;font-size:16px;font-weight:900;letter-spacing:2px;color:#fff;text-shadow:1px 1px 0 #000,0 0 10px rgba(240,200,96,.5);line-height:1.3;margin:12px 80px 14px 4px;font-family:"Yu Mincho",serif
}

.jk panel club goal txt::before {
  content:"「";color:#f0c860;margin-right:2px
}

.jk panel club goal txt::after {
  content:"」";color:#f0c860;margin-left:2px
}

.jk panel club goal bar {
  display:block;height:24px;position:relative;background:linear-gradient(90deg,rgba(255,248,224,.08) 0 1px,transparent 1px 12px) 0 0/12px 100% repeat-x,linear-gradient(180deg,#3a2a18,#2a1a0c);border:1px solid #f0c860;border-radius:2px;box-shadow:inset 0 1px 2px rgba(0,0,0,.5),0 0 0 2px rgba(240,200,96,.15);overflow:visible
}

.jk panel club goal bar::before {
  content:"";position:absolute;top:0;left:0;bottom:0;width:inherit;background:linear-gradient(90deg,#8a1a1a 0%,#c23b4a 25%,#e8702a 55%,#f0c860 85%,#fff6c8 100%),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 24'><g opacity='.55'><path d='M8 6 C 9.5 4 11.5 4 12 6 C 12.5 8 10.5 9 9.5 8.5 C 8 8 7 7.5 8 6Z' fill='%23ffe4ea'/><path d='M26 16 C 27 14 29 14 29.5 16 C 30 17.5 28.5 18.5 27.5 18 C 26.2 17.3 25.5 17 26 16Z' fill='%23ffd4de'/><path d='M34 4 C 35 3 36.5 3 37 4 C 37.3 5 36 5.8 35.4 5.5 C 34.3 5 33.7 4.8 34 4Z' fill='%23fff0f4'/><circle cx='16' cy='14' r='.8' fill='%23fff'/><circle cx='30' cy='8' r='.6' fill='%23fff'/></g></svg>");background-size:100% 100%,40px 24px;background-blend-mode:screen;background-repeat:no-repeat,repeat-x;border-radius:1px;box-shadow:inset 0 1px 0 rgba(255,248,232,.5),inset 0 -2px 3px rgba(90,10,20,.35),0 0 8px rgba(240,200,96,.4);animation:goalFill 1.8s cubic-bezier(.34,1.4,.64,1) both
}

@keyframes goalFill {
  0%{width:0;opacity:.4}60%{opacity:1}100%{}
}

.jk panel club goal bar::after {
  content:"";position:absolute;top:50%;right:-2px;width:16px;height:28px;transform:translate(-2px,-50%);background:radial-gradient(circle at 40% 40%,#fff6c8,#f0c860 40%,#b8830f 80%);border:1.5px solid #5a3a08;border-radius:2px 4px 4px 2px / 50%;box-shadow:0 0 10px rgba(240,200,96,.8),inset 0 0 0 1px rgba(255,246,200,.6),inset 0 -3px 4px rgba(90,58,8,.5);animation:goalSeal 2.4s ease-in-out infinite
}

@keyframes goalSeal {
  0%,100%{filter:drop-shadow(0 0 2px #f0c860) brightness(1)}50%{filter:drop-shadow(0 0 8px #fff6c8) brightness(1.15)}
}

.jk panel club goal bar:hover::before {
  background-size:100% 100%,40px 24px;animation:goalWave 3s linear infinite
}

@keyframes goalWave {
  to{background-position:0 0,-80px 0}
}

/* ━━━ LOG ━━━ */

.jk panel club log {
  display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:2px;padding:12px 10px 10px;background:repeating-linear-gradient(0deg,#fffef4 0 22px,#f4ecd6 22px 23px);border:1px solid #c8b98e;border-left:4px double #9d7040;border-radius:2px;position:relative
}

.jk panel club log::before {
  content:"📌 活动记录 / 下次预定";position:absolute;top:-9px;left:10px;padding:1px 8px;background:#9d7040;color:#fff;font-size:9px;letter-spacing:2px;font-weight:700;border-radius:1px
}

.jk panel club log e {
  display:block;font-size:10.5px;line-height:1.5;color:#3a2a12;padding-left:14px;position:relative;transition:.25s;cursor:default
}

.jk panel club log e::before {
  content:"";position:absolute;left:2px;top:6px;width:7px;height:7px;background:#c23b4a;transform:rotate(45deg);box-shadow:0 0 0 1px #fff,0 0 0 2px #c23b4a
}

.jk panel club log e[t="next"]::before {
  background:#4a6894;box-shadow:0 0 0 1px #fff,0 0 0 2px #4a6894;animation:logPulse 1.4s ease-in-out infinite
}

@keyframes logPulse {
  0%,100%{box-shadow:0 0 0 1px #fff,0 0 0 2px #4a6894}50%{box-shadow:0 0 0 1px #fff,0 0 0 5px rgba(74,104,148,.35)}
}

.jk panel club log e d {
  display:block;font-size:8.5px;color:#9d7040;letter-spacing:1px;font-weight:700;margin-bottom:1px;font-family:"Arial",sans-serif
}

.jk panel club log e[t="next"] d {
  color:#4a6894
}

.jk panel club log e:hover {
  padding-left:18px;color:#c23b4a
}

.jk panel club log e[t="next"]:hover {
  color:#2a3a5c
}

/* ============================================
   ✦ Windows 8 Metro UI 风格美化方案 ✦
   配色: Metro Blue #0078D7 / Magenta #E81123
         Teal #00B294 / Amber #FFB900
   字体: Segoe UI 为主
   设计语言: 扁平、锐利、磁贴、滑动
   ============================================ */

/* ========== 全局字体定义 ========== */

header.flex.justify-between,
#ai-mod-button2,
#ai-chat-bottom-input,
div[class*="w-full"][class*="bg-white"][class*="bottom-0"],
.MuiPaginationItem-root {
  font-family: "Segoe UI", "Segoe UI Light", "Microsoft YaHei UI", "PingFang SC", -apple-system, sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.3px !important;
}

/* =================================================
   ① 顶部栏 - Metro 磁贴栏
   ================================================= */

header.flex.justify-between {
  background: linear-gradient(90deg, #1F1F1F 0%, #2B2B2B 50%, #1F1F1F 100%) !important;
  border-bottom: 2px solid #0078D7 !important;
  border-radius: 0 !important;
  box-shadow: 0 2px 0 rgba(0,120,215,0.3), 0 4px 12px rgba(0,0,0,0.4) !important;
  position: sticky !important;
  overflow: hidden !important;
}

/* 顶部栏左侧磁贴装饰图案 */

header.flex.justify-between::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 180px;
  background-image:
  linear-gradient(135deg, transparent 40%, rgba(0,120,215,0.25) 40%, rgba(0,120,215,0.25) 50%, transparent 50%),
  linear-gradient(135deg, transparent 60%, rgba(232,17,35,0.2) 60%, rgba(232,17,35,0.2) 70%, transparent 70%),
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='48' viewBox='0 0 180 48'><g fill='none' stroke='rgba(255,255,255,0.15)' stroke-width='0.5'><rect x='4' y='4' width='40' height='40'/><rect x='48' y='4' width='40' height='40'/><rect x='92' y='4' width='20' height='20'/><rect x='92' y='26' width='20' height='18'/><rect x='116' y='4' width='60' height='20'/><rect x='116' y='26' width='30' height='18'/><rect x='150' y='26' width='26' height='18'/></g><g fill='rgba(0,120,215,0.3)'><rect x='8' y='8' width='12' height='12'/></g><g fill='rgba(255,185,0,0.3)'><rect x='28' y='28' width='12' height='12'/></g><g fill='rgba(0,178,148,0.3)'><rect x='52' y='22' width='14' height='14'/></g></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  opacity: 0.7;
  animation: metroTilePulse 6s ease-in-out infinite;
}

/* 顶部栏右侧磁贴装饰图案 */

header.flex.justify-between::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 160px;
  background-image:
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='48' viewBox='0 0 160 48'><g fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.5'><rect x='4' y='4' width='30' height='40'/><rect x='38' y='4' width='50' height='20'/><rect x='38' y='26' width='50' height='18'/><rect x='92' y='4' width='30' height='30'/><rect x='126' y='4' width='30' height='30'/><rect x='92' y='36' width='64' height='8'/></g><g fill='rgba(232,17,35,0.35)'><rect x='8' y='8' width='22' height='18'/></g><g fill='rgba(0,120,215,0.4)'><rect x='96' y='8' width='22' height='22'/></g><g fill='rgba(104,33,122,0.4)'><rect x='130' y='8' width='22' height='22'/></g><g fill='rgba(255,255,255,0.8)'><circle cx='19' cy='35' r='1.2'/><circle cx='25' cy='35' r='1.2'/><circle cx='13' cy='35' r='1.2'/></g></svg>");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
  opacity: 0.8;
  animation: metroTilePulse 6s ease-in-out infinite reverse;
}

@keyframes metroTilePulse {
  0%, 100% { opacity: 0.7; transform: translateX(0); }
  50% { opacity: 1; transform: translateX(2px); }
}

/* 模型选择器 - 主磁贴 */

#nav-middle .group.flex.items-center {
  background: linear-gradient(135deg, #0078D7 0%, #005A9E 100%) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 0 !important;
  padding: 4px 14px !important;
  position: relative !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.3), inset 0 0 0 1px rgba(255,255,255,0.08) !important;
  transition: transform 0.2s cubic-bezier(0.25,0.1,0.25,1), background 0.3s !important;
  overflow: hidden !important;
}

#nav-middle .group.flex.items-center::before {
  content: '';
  position: absolute;
  left: -3px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  background: #FFB900;
  box-shadow: 0 0 8px rgba(255,185,0,0.8);
}

#nav-middle .group.flex.items-center::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.2) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform 0.6s;
}

#nav-middle .group.flex.items-center:hover {
  background: linear-gradient(135deg, #1E90FF 0%, #0078D7 100%) !important;
  transform: scale(1.03) !important;
}

#nav-middle .group.flex.items-center:hover::after {
  transform: translateX(100%);
}

#nav-middle .group.flex.items-center:active {
  transform: perspective(200px) rotateX(10deg) scale(0.97) !important;
}

#nav-middle button:has(> .flex-1.truncate.text-left) .flex-1.truncate.text-left {
  color: #ffffff !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  text-shadow: 1px 1px 0 rgba(0,0,0,0.3) !important;
}

#nav-middle .shrink-0.flex.items-center svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
  transition: transform 0.3s ease !important;
}

#nav-middle .group.flex.items-center:hover .shrink-0.flex.items-center svg {
  transform: translateY(2px) !important;
}

/* 历史记录图标(移动端) */

header.flex.justify-between.w-full.top-0 svg.lucide-clock-8 {
  color: #ffffff !important;
  stroke: #ffffff !important;
  filter: drop-shadow(0 0 4px rgba(0,120,215,0.8)) !important;
  transition: transform 0.3s !important;
}

header.flex.justify-between.w-full.top-0 svg.lucide-clock-8:hover {
  transform: rotate(360deg) scale(1.15) !important;
}

/* 移动端历史未读角标 */

header.flex.justify-between.w-full.top-0 span.MuiBadge-dot.md\:hidden {
  background: #E81123 !important;
  border-radius: 0 !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  box-shadow: 0 0 0 1.5px #1F1F1F, 0 0 8px rgba(232,17,35,0.9) !important;
  animation: metroBadgeBlink 1.5s ease-in-out infinite !important;
}

@keyframes metroBadgeBlink {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.2); }
}

/* 音乐按钮 */

header.flex.justify-between.w-full.top-0 button.MuiIconButton-root:has(svg.lucide-music-2) {
  background: linear-gradient(135deg, #68217A 0%, #4B1460 100%) !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  padding: 6px !important;
  transition: all 0.2s !important;
}

header.flex.justify-between.w-full.top-0 button.MuiIconButton-root:has(svg.lucide-music-2):hover {
  background: linear-gradient(135deg, #8A2BA4 0%, #68217A 100%) !important;
  transform: translateY(-2px) !important;
}

header.flex.justify-between.w-full.top-0 button.MuiIconButton-root svg.lucide-music-2 {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* 移动端设置图标 */

header.flex.justify-between.w-full.top-0 svg:has(use[href="#icon-icon-set"]) {
  color: #ffffff !important;
  fill: #ffffff !important;
  filter: drop-shadow(0 0 3px rgba(255,185,0,0.6)) !important;
  transition: transform 0.4s !important;
}

header.flex.justify-between.w-full.top-0 svg:has(use[href="#icon-icon-set"]):hover {
  transform: rotate(90deg) !important;
}

/* 设置按钮 - Metro 磁贴 */

#nav-right button {
  background: linear-gradient(135deg, #00B294 0%, #008272 100%) !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
  color: #ffffff !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.3) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.2s cubic-bezier(0.25,0.1,0.25,1) !important;
}

#nav-right button::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 3px;
  height: 100%;
  background: #FFB900;
}

#nav-right button::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 40%, rgba(255,255,255,0.25) 50%, transparent 60%);
  transform: translateX(-100%);
  transition: transform 0.5s;
}

#nav-right button:hover {
  background: linear-gradient(135deg, #00D4AF 0%, #00B294 100%) !important;
  transform: scale(1.04) !important;
}

#nav-right button:hover::after {
  transform: translateX(100%);
}

#nav-right button:active {
  transform: perspective(200px) rotateY(8deg) scale(0.97) !important;
}

#nav-right button svg {
  color: #ffffff !important;
  stroke: #ffffff !important;
  transition: transform 0.5s ease !important;
}

#nav-right button:hover svg {
  transform: rotate(180deg) !important;
}

/* =================================================
   ② 开场白选择器 - Metro 下拉磁贴
   ================================================= */

div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"],
div.h-9.rounded-md.cursor-pointer.group:has(svg[data-icon="SlidersH"]) {
  background: linear-gradient(135deg, #ffffff 0%, #F3F3F3 100%) !important;
  border: 2px solid #0078D7 !important;
  border-radius: 0 !important;
  box-shadow: 3px 3px 0 rgba(0,120,215,0.2) !important;
  transition: all 0.2s !important;
  position: relative !important;
}

div.flex.items-center.h-9.bg-white.rounded-md.cursor-pointer.group[class*="border-gray"]:hover,
div.h-9.rounded-md.cursor-pointer.group:has(svg[data-icon="SlidersH"]):hover {
  border-color: #005A9E !important;
  box-shadow: 4px 4px 0 rgba(0,120,215,0.4) !important;
  transform: translate(-1px,-1px) !important;
}

div.flex.items-center.h-9.cursor-pointer.group svg[data-icon="SlidersH"] {
  color: #0078D7 !important;
  fill: #0078D7 !important;
  transition: transform 0.3s !important;
}

div.flex.items-center.h-9.cursor-pointer.group:hover svg[data-icon="SlidersH"] {
  transform: rotate(180deg) !important;
}

div.flex.items-center.h-9.cursor-pointer.group svgbutton:has(> .flex-1.truncate.text-left) svg {
  color: #0078D7 !important;
  fill: #0078D7 !important;
  transition: transform 0.3s !important;
}

div.flex.items-center.h-9.cursor-pointer.group:hover svgbutton:has(> .flex-1.truncate.text-left) svg {
  transform: translateY(3px) !important;
}

/* =================================================
   ③ 按钮栏 - Metro 磁贴矩阵
   ================================================= */

#ai-mod-button2 {
  padding: 4px 0 !important;
}

#ai-mod-button2 button.MuiButton-root {
  background: linear-gradient(135deg, #0078D7 0%, #005A9E 100%) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-family: "Segoe UI", "Microsoft YaHei UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.6px !important;
  padding: 8px 16px !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.25) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.25s cubic-bezier(0.25,0.1,0.25,1) !important;
  text-transform: none !important;
}

/* 不同按钮循环配色 */

#ai-mod-button2 button.MuiButton-root:nth-child(3n+1) {
  background: linear-gradient(135deg, #0078D7 0%, #005A9E 100%) !important;
}

#ai-mod-button2 button.MuiButton-root:nth-child(3n+2) {
  background: linear-gradient(135deg, #E81123 0%, #A80000 100%) !important;
}

#ai-mod-button2 button.MuiButton-root:nth-child(3n) {
  background: linear-gradient(135deg, #00B294 0%, #008272 100%) !important;
}

#ai-mod-button2 button.MuiButton-root:nth-child(4n) {
  background: linear-gradient(135deg, #FFB900 0%, #C99400 100%) !important;
  color: #1F1F1F !important;
}

#ai-mod-button2 button.MuiButton-root::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 4px;
  height: 100%;
  background: rgba(255,255,255,0.4);
}

#ai-mod-button2 button.MuiButton-root::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.3) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 0.6s ease;
}

#ai-mod-button2 button.MuiButton-root:hover {
  transform: translate(-2px,-2px) !important;
  box-shadow: 4px 4px 0 rgba(0,0,0,0.3) !important;
}

#ai-mod-button2 button.MuiButton-root:hover::after {
  transform: translateX(120%);
}

#ai-mod-button2 button.MuiButton-root:active {
  transform: perspective(300px) rotateX(-15deg) scale(0.96) !important;
  box-shadow: 1px 1px 0 rgba(0,0,0,0.3) !important;
}

#ai-mod-button2 button.MuiButton-root svg {
  color: inherit !important;
  stroke: currentColor !important;
  transition: transform 0.3s !important;
}

#ai-mod-button2 button.MuiButton-root:hover svg {
  transform: scale(1.2) rotate(5deg) !important;
}

/* =================================================
   ④ 底部栏 - Metro 输入磁贴
   ================================================= */

.bg-gradient-to-t {
  background: linear-gradient(to top, #1F1F1F 0%, rgba(31,31,31,0.85) 60%, transparent 100%) !important;
}

#ai-chat-bottom-input {
  background: #ffffff !important;
  border: 2px solid #0078D7 !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 rgba(0,120,215,0.35), inset 0 0 0 1px rgba(0,120,215,0.1) !important;
  position: relative !important;
  transition: all 0.25s !important;
}

#ai-chat-bottom-input::before {
  content: '';
  position: absolute;
  top: -2px; left: -2px;
  width: 10px; height: 10px;
  background: #FFB900;
  z-index: 1;
  pointer-events: none;
}

#ai-chat-bottom-input::after {
  content: '';
  position: absolute;
  bottom: -2px; right: -2px;
  width: 10px; height: 10px;
  background: #E81123;
  z-index: 1;
  pointer-events: none;
}

#ai-chat-bottom-input:focus-within {
  border-color: #005A9E !important;
  box-shadow: 6px 6px 0 rgba(0,120,215,0.5) !important;
  transform: translate(-2px,-2px) !important;
}

#ai-chat-input {
  background: transparent !important;
  color: #1F1F1F !important;
  font-family: "Segoe UI", "Microsoft YaHei UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  caret-color: #0078D7 !important;
}

#ai-chat-input::placeholder {
  color: #737373 !important;
  font-style: normal !important;
  font-weight: 300 !important;
  letter-spacing: 0.5px !important;
}

#ai-chat-input::selection {
  background: #0078D7 !important;
  color: #ffffff !important;
}

/* =================================================
   ⑤ 分页栏 - Metro 方块按钮
   ================================================= */

.MuiPaginationItem-root {
  background: #ffffff !important;
  border: 1.5px solid #0078D7 !important;
  border-radius: 0 !important;
  color: #0078D7 !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 400 !important;
  box-shadow: 2px 2px 0 rgba(0,120,215,0.25) !important;
  transition: all 0.2s !important;
}

.MuiPaginationItem-root:hover {
  background: #E6F2FB !important;
  transform: translate(-1px,-1px) !important;
  box-shadow: 3px 3px 0 rgba(0,120,215,0.4) !important;
}

.MuiPaginationItem-root.Mui-selected {
  background: linear-gradient(135deg, #0078D7 0%, #005A9E 100%) !important;
  color: #ffffff !important;
  border-color: #005A9E !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.3) !important;
}

.MuiPaginationItem-root.Mui-disabled {
  background: #F3F3F3 !important;
  border-color: #CCCCCC !important;
  color: #999999 !important;
  box-shadow: none !important;
  opacity: 0.6 !important;
}

.MuiPaginationItem-icon {
  color: inherit !important;
  fill: currentColor !important;
}

.flex.w-full.items-center.justify-between.gap-2.px-2.css-1uwir8f .MuiBox-root {
  color: #ffffff !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.4px !important;
}

.MuiInputBase-input {
  background: #ffffff !important;
  border: 1.5px solid #0078D7 !important;
  border-radius: 0 !important;
  color: #1F1F1F !important;
  font-family: "Segoe UI", sans-serif !important;
  text-align: center !important;
}

/* =================================================
   ⑥ 评论区主背景 - 动图 + Metro 蒙层
   ================================================= */

div[class*="w-full"][class*="bg-white"][class*="bottom-0"] {
  background-image:
  /* 顶层：Metro 半透明磁贴格栅，确保文字可读 */
  linear-gradient(135deg, rgba(20,20,30,0.72) 0%, rgba(40,30,60,0.68) 50%, rgba(30,20,40,0.75) 100%),
  /* 中层：磁贴几何花纹 */
  url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><g fill='rgba(255,255,255,0.025)'><rect x='0' y='0' width='30' height='30'/><rect x='60' y='60' width='30' height='30'/><rect x='90' y='0' width='30' height='30'/><rect x='30' y='90' width='30' height='30'/></g></svg>"),
  /* 底层：用户指定的动态GIF */
  url("https://pic1.imgdb.cn/item/6a02c0aac05e72d9171b461d.gif") !important;
  background-size: auto, 120px 120px, cover !important;
  background-position: center, top left, center center !important;
  background-repeat: no-repeat, repeat, no-repeat !important;
  background-attachment: scroll, scroll, scroll !important;
  background-blend-mode: normal, normal, normal !important;
  border-top: 3px solid #0078D7 !important;
  color: #ffffff !important;
}

/* 标题 "评论(x)" - 深色背景下浅色文字 */

div[class*="bg-white"][class*="bottom-0"] div.text-lg.font-bold {
  color: #ffffff !important;
  font-family: "Segoe UI Light", "Segoe UI", "Microsoft YaHei UI", sans-serif !important;
  font-weight: 300 !important;
  font-size: 22px !important;
  letter-spacing: 0.5px !important;
  padding: 4px 0 4px 14px !important;
  border-left: 6px solid #FFB900 !important;
  text-shadow: 2px 2px 0 rgba(0,0,0,0.6), 0 0 12px rgba(0,120,215,0.5) !important;
  position: relative !important;
}

div[class*="bg-white"][class*="bottom-0"] div.text-lg.font-bold::after {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  background: #E81123;
  margin-left: 10px;
  vertical-align: middle;
  box-shadow: 0 0 8px rgba(232,17,35,0.9);
  animation: metroBadgeBlink 2s ease-in-out infinite;
}

@keyframes metroBadgeBlink {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.25); }
}

/* 个人评分文字 - 深色背景适配 */

div[class*="bg-white"][class*="bottom-0"] p.MuiTypography-body1.text-grey-600 {
  color: #E0E0E0 !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  text-shadow: 1px 1px 0 rgba(0,0,0,0.7) !important;
}

/* =================================================
   ⭐ 全新 Metro 棱形勋章评分 SVG
   ================================================= */

span.MuiRating-root {
  gap: 6px !important;
  filter: drop-shadow(2px 2px 0 rgba(0,0,0,0.4)) !important;
  padding: 4px !important;
}

/* === 未选中态 - 精致线框勋章 === */

span.MuiRating-iconEmpty svg {
  display: none !important;
}

span.MuiRating-iconEmpty {
  width: 32px !important;
  height: 32px !important;
  display: inline-block !important;
  position: relative !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><defs><linearGradient id='eb' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='rgba(255,255,255,0.35)'/><stop offset='1' stop-color='rgba(255,255,255,0.1)'/></linearGradient></defs><g transform='translate(20 20)'><polygon points='0,-16 16,0 0,16 -16,0' fill='rgba(255,255,255,0.08)' stroke='url(%23eb)' stroke-width='1.5'/><polygon points='0,-11 11,0 0,11 -11,0' fill='none' stroke='rgba(255,255,255,0.25)' stroke-width='0.6'/><polygon points='0,-6 6,0 0,6 -6,0' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='0.5'/><g stroke='rgba(255,255,255,0.3)' stroke-width='0.6'><line x1='0' y1='-16' x2='0' y2='-13'/><line x1='0' y1='13' x2='0' y2='16'/><line x1='-16' y1='0' x2='-13' y2='0'/><line x1='13' y1='0' x2='16' y2='0'/></g><circle cx='0' cy='0' r='1.5' fill='rgba(255,255,255,0.5)'/></g></svg>") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1), filter 0.3s !important;
  cursor: pointer !important;
}

span.MuiRating-iconEmpty:hover {
  transform: scale(1.2) rotate(45deg) !important;
  filter: drop-shadow(0 0 8px rgba(255,255,255,0.6)) brightness(1.3) !important;
}

/* === 选中态 - 多层金箔勋章，带放射光芒、宝石、十字星 === */

span.MuiRating-iconFilled svg {
  display: none !important;
}

span.MuiRating-iconFilled {
  width: 32px !important;
  height: 32px !important;
  display: inline-block !important;
  position: relative !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'><defs><linearGradient id='ofa' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23FFE57A'/><stop offset='0.4' stop-color='%23FFB900'/><stop offset='1' stop-color='%23A87400'/></linearGradient><linearGradient id='ofb' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='rgba(255,255,255,0.9)'/><stop offset='0.5' stop-color='rgba(255,255,255,0.2)'/><stop offset='1' stop-color='rgba(255,185,0,0)'/></linearGradient><radialGradient id='ofc' cx='0.5' cy='0.4' r='0.6'><stop offset='0' stop-color='%23ffffff'/><stop offset='0.6' stop-color='%23FFD94A'/><stop offset='1' stop-color='%23FFB900'/></radialGradient><filter id='glow'><feGaussianBlur stdDeviation='1.2'/></filter></defs><g transform='translate(20 20)'><g stroke='rgba(255,215,80,0.55)' stroke-width='1.2' stroke-linecap='round'><line x1='0' y1='-19' x2='0' y2='-15'/><line x1='0' y1='15' x2='0' y2='19'/><line x1='-19' y1='0' x2='-15' y2='0'/><line x1='15' y1='0' x2='19' y2='0'/><line x1='-13' y1='-13' x2='-10' y2='-10' opacity='0.7'/><line x1='10' y1='-10' x2='13' y2='-13' opacity='0.7'/><line x1='-13' y1='13' x2='-10' y2='10' opacity='0.7'/><line x1='10' y1='10' x2='13' y2='13' opacity='0.7'/></g><polygon points='0,-17 17,0 0,17 -17,0' fill='url(%23ofa)' stroke='%23805700' stroke-width='1.2'/><polygon points='0,-17 17,0 0,17 -17,0' fill='url(%23ofb)' opacity='0.55'/><polygon points='0,-12 12,0 0,12 -12,0' fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='0.7'/><polygon points='0,-12 12,0 0,12 -12,0' fill='none' stroke='rgba(128,87,0,0.6)' stroke-width='0.4' transform='scale(0.95)'/><polygon points='0,-7 7,0 0,7 -7,0' fill='url(%23ofc)' stroke='%23805700' stroke-width='0.5'/><g stroke='rgba(255,255,255,0.95)' stroke-width='1.2' stroke-linecap='round' filter='url(%23glow)'><line x1='0' y1='-5' x2='0' y2='5'/><line x1='-5' y1='0' x2='5' y2='0'/></g><circle cx='-2' cy='-2' r='1.4' fill='%23ffffff' opacity='0.95'/><circle cx='2.5' cy='2.5' r='0.7' fill='%23ffffff' opacity='0.7'/><polygon points='0,-3 1,0 0,3 -1,0' fill='%23ffffff' opacity='0.6'/></g></svg>") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  filter: drop-shadow(0 0 5px rgba(255,185,0,0.7)) drop-shadow(0 0 12px rgba(255,185,0,0.35)) !important;
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1), filter 0.3s !important;
  animation: metroMedalPop 0.55s cubic-bezier(0.34,1.56,0.64,1) backwards !important;
  cursor: pointer !important;
}

/* 选中勋章悬停 - 光环扩散 */

span.MuiRating-iconFilled::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,185,0,0.5) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s, transform 0.4s;
  pointer-events: none;
  transform: scale(0.5);
}

span.MuiRating-iconFilled:hover {
  transform: scale(1.25) rotate(180deg) !important;
  filter: drop-shadow(0 0 10px rgba(255,213,80,1)) drop-shadow(0 0 20px rgba(255,185,0,0.7)) !important;
}

span.MuiRating-iconFilled:hover::before {
  opacity: 1;
  transform: scale(1.5);
}

@keyframes metroMedalPop {
  0% { transform: scale(0) rotate(-270deg); opacity: 0; filter: brightness(2) blur(4px); }
  50% { transform: scale(1.35) rotate(20deg); filter: brightness(1.6); }
  80% { transform: scale(0.92) rotate(-8deg); }
  100% { transform: scale(1) rotate(0); opacity: 1; }
}

/* 评分数字 - 深色背景下醒目金色 */

/* [Token消耗hover逻辑转换未启用]
div[class*="bg-white"][class*="bottom-0"] span.text-orange-500 {
  color: #FFD94A !important;
  font-family: "Segoe UI Light", "Segoe UI", sans-serif !important;
  font-weight: 300 !important;
  font-size: 26px !important;
  text-shadow: 2px 2px 0 rgba(0,0,0,0.6), 0 0 14px rgba(255,217,74,0.8) !important;
  letter-spacing: 1.2px !important;
}
*/

/* =================================================
   评论输入框 - 半透明磁贴
   ================================================= */

div[class*="bg-white"][class*="bottom-0"] div.flex.flex-col.border-gray-200 {
  background: rgba(255,255,255,0.95) !important;
  border: 2px solid #0078D7 !important;
  border-radius: 0 !important;
  box-shadow: 4px 4px 0 rgba(0,120,215,0.5), 0 0 20px rgba(0,120,215,0.3) !important;
  position: relative !important;
  transition: all 0.25s !important;
  backdrop-filter: blur(8px) !important;
}

div[class*="bg-white"][class*="bottom-0"] div.flex.flex-col.border-gray-200::before {
  content: '';
  position: absolute;
  top: 0; right: 0;
  width: 0; height: 0;
  border-left: 14px solid transparent;
  border-top: 14px solid #FFB900;
  pointer-events: none;
}

div[class*="bg-white"][class*="bottom-0"] div.flex.flex-col.border-gray-200:focus-within {
  border-color: #00B294 !important;
  box-shadow: 6px 6px 0 rgba(0,178,148,0.5), 0 0 24px rgba(0,178,148,0.4) !important;
  transform: translate(-2px,-2px) !important;
}

textarea.rc-textarea {
  background: transparent !important;
  color: #1F1F1F !important;
  font-family: "Segoe UI", "Microsoft YaHei UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.3px !important;
  caret-color: #0078D7 !important;
}

textarea.rc-textarea::placeholder {
  color: #737373 !important;
  font-weight: 300 !important;
}

/* 字数统计 */

div[class*="bg-white"][class*="bottom-0"] div.bg-gray-100.text-gray-500 {
  background: #0078D7 !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  box-shadow: 1px 1px 0 rgba(0,0,0,0.3) !important;
}

/* 发送按钮 */

div[class*="bg-white"][class*="bottom-0"] div.cursor-pointer.group.flex.items-center.justify-center {
  background: linear-gradient(135deg, #0078D7 0%, #005A9E 100%) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 0 !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.5), 0 0 12px rgba(0,120,215,0.5) !important;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.25s cubic-bezier(0.25,0.1,0.25,1) !important;
  padding: 6px !important;
}

div[class*="bg-white"][class*="bottom-0"] div.cursor-pointer.group.flex.items-center.justify-center::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.4) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform 0.5s;
}

div[class*="bg-white"][class*="bottom-0"] div.cursor-pointer.group.flex.items-center.justify-center:hover {
  transform: translate(-2px,-2px) !important;
  box-shadow: 4px 4px 0 rgba(0,0,0,0.6), 0 0 18px rgba(0,120,215,0.8) !important;
  background: linear-gradient(135deg, #1E90FF 0%, #0078D7 100%) !important;
}

div[class*="bg-white"][class*="bottom-0"] div.cursor-pointer.group.flex.items-center.justify-center:hover::before {
  transform: translateX(100%);
}

div[data-state="closed"] svg[data-icon="Send03"] {
  color: #ffffff !important;
  stroke: #ffffff !important;
  transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1) !important;
}

div.cursor-pointer.group:hover svg[data-icon="Send03"] {
  transform: translate(4px,-4px) rotate(15deg) !important;
  filter: drop-shadow(0 0 6px rgba(255,255,255,0.9)) !important;
}

/* 分割线 - 彩虹光带 */

div[class*="bg-white"][class*="bottom-0"] div.style_divider__mW0YX {
  background: linear-gradient(90deg, transparent 0%, #0078D7 20%, #FFB900 50%, #E81123 80%, transparent 100%) !important;
  height: 2px !important;
  border: none !important;
  margin: 12px 0 !important;
  box-shadow: 0 0 10px rgba(255,185,0,0.5) !important;
}

/* 排序按钮 */

.flex.w-full.items-center.justify-between.gap-2.px-2.css-1dmzxoz {
  gap: 6px !important;
}

div[class*="bg-white"][class*="bottom-0"] button.MuiButton-containedPrimary {
  background: linear-gradient(135deg, #0078D7 0%, #005A9E 100%) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 0 !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.5) !important;
  transition: all 0.2s !important;
}

div[class*="bg-white"][class*="bottom-0"] button.MuiButton-containedPrimary::before {
  content: '■';
  margin-right: 4px;
  color: #FFB900;
}

div[class*="bg-white"][class*="bottom-0"] button.MuiButton-outlinedPrimary {
  background: rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
  border: 1.5px solid rgba(255,255,255,0.7) !important;
  border-radius: 0 !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.4) !important;
  backdrop-filter: blur(4px) !important;
  transition: all 0.2s !important;
}

div[class*="bg-white"][class*="bottom-0"] button.MuiButton-containedPrimary:hover,
div[class*="bg-white"][class*="bottom-0"] button.MuiButton-outlinedPrimary:hover {
  transform: translate(-1px,-1px) !important;
  box-shadow: 3px 3px 0 rgba(0,0,0,0.5) !important;
}

div[class*="bg-white"][class*="bottom-0"] button.MuiButton-outlinedPrimary:hover {
  background: rgba(255,255,255,0.25) !important;
}

/* 评论列表滚动条 */

div[class*="bg-white"][class*="bottom-0"] div.p-3.overflow-y-auto {
  scrollbar-width: thin !important;
  scrollbar-color: #0078D7 rgba(0,0,0,0.3) !important;
}

div[class*="bg-white"][class*="bottom-0"] div.p-3.overflow-y-auto::-webkit-scrollbar {
  width: 10px !important;
}

div[class*="bg-white"][class*="bottom-0"] div.p-3.overflow-y-auto::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #0078D7 0%, #005A9E 100%) !important;
  border-radius: 0 !important;
  border: 2px solid rgba(0,0,0,0.3) !important;
}

div[class*="bg-white"][class*="bottom-0"] div.p-3.overflow-y-auto::-webkit-scrollbar-track {
  background: rgba(0,0,0,0.35) !important;
}

/* 评论项 - 半透明玻璃磁贴 */

div[class*="bg-white"][class*="bottom-0"] div.group.ml-0 {
  background: rgba(255,255,255,0.92) !important;
  border: 1px solid rgba(255,255,255,0.4) !important;
  border-left: 4px solid #0078D7 !important;
  border-radius: 0 !important;
  padding: 12px !important;
  margin-bottom: 10px !important;
  box-shadow: 3px 3px 0 rgba(0,0,0,0.35), 0 0 12px rgba(0,120,215,0.2) !important;
  backdrop-filter: blur(6px) !important;
  transition: all 0.25s !important;
  animation: metroSlideIn 0.45s ease backwards !important;
}

@keyframes metroSlideIn {
  0% { opacity: 0; transform: translateX(-30px); }
  100% { opacity: 1; transform: translateX(0); }
}

div[class*="bg-white"][class*="bottom-0"] div.group.ml-0:nth-child(4n+2) {
  border-left-color: #E81123 !important;
}

div[class*="bg-white"][class*="bottom-0"] div.group.ml-0:nth-child(4n+3) {
  border-left-color: #00B294 !important;
}

div[class*="bg-white"][class*="bottom-0"] div.group.ml-0:nth-child(4n) {
  border-left-color: #FFB900 !important;
}

div[class*="bg-white"][class*="bottom-0"] div.group.ml-0:hover {
  transform: translateX(4px) !important;
  box-shadow: 5px 5px 0 rgba(0,0,0,0.45), 0 0 18px rgba(0,120,215,0.4) !important;
  border-left-width: 6px !important;
  background: rgba(255,255,255,0.98) !important;
}

/* 头像 */

div[class*="bg-white"][class*="bottom-0"] div.group img.rounded-full {
  border-radius: 0 !important;
  border: 2px solid #0078D7 !important;
  box-shadow: 3px 3px 0 rgba(0,120,215,0.5), 0 0 10px rgba(0,120,215,0.4) !important;
  transition: all 0.25s cubic-bezier(0.25,0.1,0.25,1) !important;
  filter: saturate(1.15) !important;
}

div[class*="bg-white"][class*="bottom-0"] div.group:hover img.rounded-full {
  transform: perspective(300px) rotateY(15deg) scale(1.08) !important;
  box-shadow: 5px 5px 0 rgba(0,120,215,0.7), 0 0 16px rgba(0,120,215,0.7) !important;
  border-color: #FFB900 !important;
}

/* 用户名 */

div[class*="bg-white"][class*="bottom-0"] div.text-sm.text-grey-600 span.font-bold {
  color: #0078D7 !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  font-size: 14px !important;
}

/* (你) 标签 */

div[class*="bg-white"][class*="bottom-0"] span.text-\[10px\] {
  background: #E81123 !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  padding: 1px 6px !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  box-shadow: 1px 1px 0 rgba(0,0,0,0.4) !important;
  margin-left: 6px !important;
}

/* 评论内容 */

div[class*="bg-white"][class*="bottom-0"] div.break-all {
  color: #1F1F1F !important;
  font-family: "Segoe UI", "Microsoft YaHei UI", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: 0.2px !important;
  font-size: 14px !important;
  padding: 6px 0 !important;
}

/* 时间戳 */

div[class*="bg-white"][class*="bottom-0"] div.text-xs.text-grey-600 {
  color: #555555 !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.4px !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
}

div[class*="bg-white"][class*="bottom-0"] div.text-xs.text-grey-600::before {
  content: '▸ ';
  color: #0078D7;
}

/* 点赞 */

div[class*="bg-white"][class*="bottom-0"] button.text-gray-400 {
  color: #555555 !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 0 !important;
  padding: 3px 8px !important;
  transition: all 0.2s !important;
  font-family: "Segoe UI", sans-serif !important;
}

div[class*="bg-white"][class*="bottom-0"] button.text-gray-400:hover {
  background: #E81123 !important;
  color: #ffffff !important;
  border-color: #A80000 !important;
  transform: translateY(-2px) !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.5) !important;
}

div[class*="bg-white"][class*="bottom-0"] button.text-gray-400 svg {
  color: inherit !important;
  stroke: currentColor !important;
  fill: currentColor !important;
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1) !important;
}

div[class*="bg-white"][class*="bottom-0"] button.text-gray-400:hover svg {
  transform: scale(1.3) rotate(-15deg) !important;
}

/* 回复 */

div[class*="bg-white"][class*="bottom-0"] span.cursor-pointer {
  color: #0078D7 !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.4px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  padding: 2px 6px !important;
  transition: all 0.2s !important;
}

div[class*="bg-white"][class*="bottom-0"] span.cursor-pointer:hover {
  color: #ffffff !important;
  background: #0078D7 !important;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.4) !important;
  transform: translateY(-1px) !important;
}

/* 回复区域 */

div[class*="bg-white"][class*="bottom-0"] div.ml-8.border-l {
  border-left: 3px solid #0078D7 !important;
  background: linear-gradient(90deg, rgba(0,120,215,0.12) 0%, transparent 100%) !important;
  padding-left: 12px !important;
  margin-top: 8px !important;
  position: relative !important;
}

div[class*="bg-white"][class*="bottom-0"] div.ml-8.border-l::before {
  content: '';
  position: absolute;
  left: -3px; top: 0;
  width: 3px; height: 20px;
  background: #FFB900;
  box-shadow: 0 0 6px rgba(255,185,0,0.7);
}

/* ============================================================
   Windows 8 Metro UI 风格聊天框美化方案
   ============================================================ */

/* 隐藏顶部颜色装饰条 */

[class*="bg-[#F1CBCB]"],
[class*="bg-[#c9e1e9]"] {
  display: none !important;
}

/* 隐藏平台默认加载点 */

.flex.items-center.justify-center.size-6 > .flex.gap-2 {
  display: none !important;
}

/* ============================================================
   统一聊天框基础设定（输入 + 输出共有）
   ============================================================ */

.is-user > .border.border-muted,
.is-assistant > .border.border-muted {
  position: relative !important;
  isolation: isolate !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  font-family: "Segoe UI", "Microsoft YaHei UI", -apple-system, BlinkMacSystemFont, sans-serif !important;
  transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
  overflow: visible !important;
}

/* ============================================================
   输入聊天框：Metro 蓝磁贴
   ============================================================ */

.is-user > .border.border-muted {
  background:
  linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 50%),
  linear-gradient(160deg, #2D89EF 0%, #1B5FB8 60%, #0E3A78 100%) !important;
  color: #FFFFFF !important;
  padding: 20px 24px !important;
  border-left: 4px solid #00BCF2 !important;
  box-shadow:
  0 4px 0 0 #0E3A78,
  0 8px 20px rgba(14, 58, 120, 0.45),
  inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
}

/* 输入框右上角装饰 SVG（旋转齿轮 + 闪烁方块） */

.is-user > .border.border-muted::before {
  content: "" !important;
  position: absolute !important;
  top: 8px !important;
  right: 10px !important;
  width: 42px !important;
  height: 42px !important;
  z-index: 0 !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g opacity='0.55'><rect x='5' y='5' width='18' height='18' fill='%2300BCF2'><animate attributeName='opacity' values='1;0.2;1' dur='1.8s' repeatCount='indefinite'/></rect><rect x='28' y='5' width='18' height='18' fill='%23FFFFFF' opacity='0.4'><animate attributeName='opacity' values='0.4;1;0.4' dur='1.8s' begin='0.3s' repeatCount='indefinite'/></rect><rect x='5' y='28' width='18' height='18' fill='%23FFFFFF' opacity='0.4'><animate attributeName='opacity' values='0.4;1;0.4' dur='1.8s' begin='0.6s' repeatCount='indefinite'/></rect><rect x='28' y='28' width='18' height='18' fill='%2300BCF2'><animate attributeName='opacity' values='1;0.2;1' dur='1.8s' begin='0.9s' repeatCount='indefinite'/></rect><g transform='translate(75,75)'><polygon points='0,-20 6,-6 20,0 6,6 0,20 -6,6 -20,0 -6,-6' fill='%23FFFFFF' opacity='0.7'><animateTransform attributeName='transform' type='rotate' from='0' to='360' dur='6s' repeatCount='indefinite'/></polygon><circle r='6' fill='%231B5FB8'/></g></g></svg>") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  pointer-events: none !important;
}

/* 输入框底部扫描光带 */

.is-user > .border.border-muted::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 3' preserveAspectRatio='none'><rect width='400' height='3' fill='%230E3A78'/><rect width='80' height='3' fill='%2300BCF2'><animate attributeName='x' from='-80' to='400' dur='2.6s' repeatCount='indefinite'/></rect></svg>") !important;
  background-size: 100% 100% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ============================================================
   输出聊天框：完全透明（保留你的自定义 UI）
   ============================================================ */

.is-assistant > .border.border-muted {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ============================================================
   主文本样式
   ============================================================ */

.rili-markdown-renderer {
  position: relative !important;
  z-index: 1 !important;
  background: transparent !important;
  font-family: "Segoe UI", "Microsoft YaHei UI", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.75 !important;
  letter-spacing: 0.3px !important;
}

/* 输入框内文本（白色，深底高对比） */

.is-user > .border.border-muted .rili-markdown-renderer {
  color: #FFFFFF !important;
}

.is-user > .border.border-muted .rili-markdown-renderer strong,
.is-user > .border.border-muted .rili-markdown-renderer b {
  color: #FFFFFF !important;
  font-weight: bold !important;
  border-bottom: 2px solid #00BCF2 !important;
  padding-bottom: 1px !important;
}

/* 输出框内文本（深色，因背景透明） */

.is-assistant .rili-markdown-renderer {
  color: #1A1A1A !important;
}

.is-assistant .rili-markdown-renderer strong,
.is-assistant .rili-markdown-renderer b {
  color: #2D89EF !important;
  font-weight: bold !important;
}

.is-user > .border.border-muted .bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7{
  color: #FFFFFF !important;
}

.is-user > .border.border-muted .bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7{
  color: #00BCF2 !important;
  transform: translateY(-1px) !important;
}

/* 输出框内的按钮：纯色文字，无任何外框背景 */

.is-assistant .bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7{
  color: #2D89EF !important;
}

.is-assistant .bg-muted.rounded.flex.p-0\.5 > button.rounded-full.size-7{
  color: #00BCF2 !important;
  transform: translateY(-1px) !important;
}

/* 模型名称 —— 输入框内（蓝底）显示为浅色 */

.is-user > .border.border-muted .flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground {
  color: #EAEAEA !important;
  background: transparent !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}

/* 模型名称 —— 输出框内（透明底）显示为深蓝 */

.is-assistant .flex.items-center.gap-2.text-xs.font-mono.text-muted-foreground {
  color: #2D89EF !important;
  background: transparent !important;
  font-family: "Segoe UI", sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}

/* [Token消耗hover逻辑转换未启用]
.text-orange-500 {
  color: #E3A21A !important;
  font-family: "Consolas", "Segoe UI Mono", monospace !important;
  font-weight: bold !important;
  background: rgba(227, 162, 26, 0.1) !important;
  padding: 1px 6px !important;
  border-left: 2px solid #E3A21A !important;
}
*/

/* ============================================================
   ★ 核心：自定义 Live Tile 加载磁贴动画（独立框体）
   ============================================================ */

.flex.items-center.justify-center.size-6 {
  position: relative !important;
  width: 120px !important;
  height: 120px !important;
  min-width: 120px !important;
  min-height: 120px !important;
  margin: 20px auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #1B1B1B 0%, #0A0A0A 100%) !important;
  border: 2px solid #2D89EF !important;
  box-shadow:
  0 0 0 1px #000,
  0 8px 24px rgba(45, 137, 239, 0.5),
  inset 0 0 30px rgba(45, 137, 239, 0.15) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

/* 加载磁贴 ::before —— 翻转方块矩阵 + 扫描线 SVG */

.flex.items-center.justify-center.size-6::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 100% !important;
  height: 100% !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'><defs><linearGradient id='g1' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%2300BCF2'/><stop offset='1' stop-color='%232D89EF'/></linearGradient><linearGradient id='g2' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23E3A21A'/><stop offset='1' stop-color='%23DA532C'/></linearGradient><linearGradient id='g3' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%2360A917'/><stop offset='1' stop-color='%23008A00'/></linearGradient><linearGradient id='g4' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23B91D47'/><stop offset='1' stop-color='%237E3878'/></linearGradient></defs><g transform='translate(60,60)'><g transform='translate(-30,-30)'><rect width='24' height='24' fill='url(%23g1)'><animateTransform attributeName='transform' type='rotate' values='0 12 12;0 12 12;180 12 12;180 12 12' keyTimes='0;0.2;0.5;1' dur='3s' repeatCount='indefinite'/><animate attributeName='opacity' values='1;1;0.3;1' keyTimes='0;0.2;0.5;1' dur='3s' repeatCount='indefinite'/></rect></g><g transform='translate(6,-30)'><rect width='24' height='24' fill='url(%23g2)'><animateTransform attributeName='transform' type='rotate' values='0 12 12;0 12 12;180 12 12;180 12 12' keyTimes='0;0.35;0.65;1' dur='3s' repeatCount='indefinite'/><animate attributeName='opacity' values='1;1;0.3;1' keyTimes='0;0.35;0.65;1' dur='3s' repeatCount='indefinite'/></rect></g><g transform='translate(-30,6)'><rect width='24' height='24' fill='url(%23g3)'><animateTransform attributeName='transform' type='rotate' values='0 12 12;0 12 12;180 12 12;180 12 12' keyTimes='0;0.5;0.8;1' dur='3s' repeatCount='indefinite'/><animate attributeName='opacity' values='1;1;0.3;1' keyTimes='0;0.5;0.8;1' dur='3s' repeatCount='indefinite'/></rect></g><g transform='translate(6,6)'><rect width='24' height='24' fill='url(%23g4)'><animateTransform attributeName='transform' type='rotate' values='0 12 12;0 12 12;180 12 12;180 12 12' keyTimes='0;0.65;0.95;1' dur='3s' repeatCount='indefinite'/><animate attributeName='opacity' values='1;1;0.3;1' keyTimes='0;0.65;0.95;1' dur='3s' repeatCount='indefinite'/></rect></g></g><rect x='0' y='0' width='120' height='2' fill='%2300BCF2' opacity='0.85'><animate attributeName='y' from='-2' to='120' dur='2.2s' repeatCount='indefinite'/></rect><g stroke='%232D89EF' stroke-width='0.4' opacity='0.25'><line x1='0' y1='30' x2='120' y2='30'/><line x1='0' y1='60' x2='120' y2='60'/><line x1='0' y1='90' x2='120' y2='90'/><line x1='30' y1='0' x2='30' y2='120'/><line x1='60' y1='0' x2='60' y2='120'/><line x1='90' y1='0' x2='90' y2='120'/></g></svg>") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

/* 加载磁贴 ::after —— 外环脉冲点阵 + LOADING 文字 SVG */

.flex.items-center.justify-center.size-6::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'><g><circle cx='60' cy='8' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='0s' repeatCount='indefinite'/></circle><circle cx='90' cy='14' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='0.15s' repeatCount='indefinite'/></circle><circle cx='106' cy='30' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='0.3s' repeatCount='indefinite'/></circle><circle cx='112' cy='60' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='0.45s' repeatCount='indefinite'/></circle><circle cx='106' cy='90' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='0.6s' repeatCount='indefinite'/></circle><circle cx='90' cy='106' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='0.75s' repeatCount='indefinite'/></circle><circle cx='60' cy='112' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='0.9s' repeatCount='indefinite'/></circle><circle cx='30' cy='106' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='1.05s' repeatCount='indefinite'/></circle><circle cx='14' cy='90' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='1.2s' repeatCount='indefinite'/></circle><circle cx='8' cy='60' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='1.3s' repeatCount='indefinite'/></circle><circle cx='14' cy='30' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='1.35s' repeatCount='indefinite'/></circle><circle cx='30' cy='14' r='2.2' fill='%2300BCF2'><animate attributeName='opacity' values='0.2;1;0.2' dur='1.4s' begin='1.4s' repeatCount='indefinite'/></circle></g><g transform='translate(60,105)' text-anchor='middle' font-family='Segoe UI,sans-serif' font-size='8' font-weight='600' fill='%23FFFFFF' letter-spacing='2'><text><tspan>LOADING</tspan><animate attributeName='opacity' values='0.3;1;0.3' dur='1.6s' repeatCount='indefinite'/></text></g></svg>") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* CSS 关键帧增强（在平台未禁用 CSS 动画时叠加微脉动） */

@keyframes metroTilePulse {
  0%, 100% { box-shadow: 0 0 0 1px #000, 0 8px 24px rgba(45,137,239,0.5), inset 0 0 30px rgba(45,137,239,0.15); }
  50% { box-shadow: 0 0 0 1px #000, 0 8px 32px rgba(0,188,242,0.85), inset 0 0 40px rgba(0,188,242,0.3); }
}

.flex.items-center.justify-center.size-6 {
  animation: metroTilePulse 2.4s ease-in-out infinite !important;
}

/* ============================================================
   响应式适配
   ============================================================ */

@media (max-width: 480px) {
  .flex.items-center.justify-center.size-6 {
    width: 90px !important;
    height: 90px !important;
    min-width: 90px !important;
    min-height: 90px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .flex.items-center.justify-center.size-6 {
    animation-duration: 6s !important;
  }
}

/* ═══ JK-METRO · 予定表 拡張 v2.0 ═══ */

.jk panel sched,.jk panel mock,.jk panel evlist,.jk panel quests {
  display:block;margin:18px -4px 0;position:relative
}

.jk panel sched {
  margin-top:4px
}

/* ── 子标题（共用） ── */

.jk panel sched shead,.jk panel mock mhd,.jk panel evlist elhd,.jk panel quests qhd {
  position:sticky;top:46px;z-index:3;display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:6px 12px 6px 14px;font-size:12px;font-weight:800;letter-spacing:3px;color:#fff;background:linear-gradient(90deg,#2b3a5c 0%,#4d5f88 70%,transparent 100%);border-left:4px solid #e3a21a;box-shadow:0 2px 6px rgba(20,30,60,.22),inset 0 -2px 0 rgba(255,255,255,.18),inset 0 1px 0 rgba(255,255,255,.35);text-shadow:0 1px 0 rgba(0,0,0,.4)
}

.jk panel sched shead::before,.jk panel mock mhd::before,.jk panel evlist elhd::before,.jk panel quests qhd::before {
  content:"";width:14px;height:14px;flex:none;background:#fff;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center
}

.jk panel sched shead::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><rect x='3' y='5' width='18' height='16' rx='2'/><path d='M3 9h18M8 3v4M16 3v4'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><rect x='3' y='5' width='18' height='16' rx='2'/><path d='M3 9h18M8 3v4M16 3v4'/></svg>")
}

.jk panel mock mhd::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M5 3h11l4 4v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z'/><path d='M15 3v5h5M8 13h8M8 17h6'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M5 3h11l4 4v14a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z'/><path d='M15 3v5h5M8 13h8M8 17h6'/></svg>")
}

.jk panel evlist elhd::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><circle cx='12' cy='12' r='9'/><path d='M12 6v6l4 2'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><circle cx='12' cy='12' r='9'/><path d='M12 6v6l4 2'/></svg>")
}

.jk panel quests qhd::before {
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M12 3l3 6 6 .9-4.5 4.3 1 6.3L12 17.8 6.5 20.5l1-6.3L3 9.9 9 9z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M12 3l3 6 6 .9-4.5 4.3 1 6.3L12 17.8 6.5 20.5l1-6.3L3 9.9 9 9z'/></svg>")
}

.jk panel sched shead stitle {
  flex:1
}

/* ── 课程表 ── */

.jk panel sched periods {
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:6px 2px 14px;overflow:visible
}

.jk panel sched pd {
  position:relative;display:grid;grid-template-columns:34px 1fr;gap:2px 9px;padding:9px 10px 9px 9px;background:linear-gradient(155deg,#ffffff 0%,#f8f0d4 100%),radial-gradient(circle at 100% 0%,rgba(255,255,255,.6),transparent 55%);background-blend-mode:normal;border:1px solid #c8b98e;border-left:5px solid #6c7a9c;border-radius:3px;cursor:default;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,filter .3s;box-shadow:0 2px 5px rgba(80,70,40,.18),inset 0 1px 0 rgba(255,255,255,.8)
}

.jk panel sched pd:hover {
  transform:translateY(-3px) scale(1.03);box-shadow:0 10px 22px rgba(80,70,40,.32),inset 0 1px 0 rgba(255,255,255,.95);filter:brightness(1.06) saturate(1.12);z-index:20
}

.jk panel sched pn {
  grid-row:1/3;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:900;font-family:"Georgia",serif;color:#2b3a5c;text-shadow:1px 1px 0 #fff,-1px -1px 0 rgba(43,58,92,.15);line-height:1;letter-spacing:-1px
}

.jk panel sched pd::marker {
  content:""
}

.jk panel sched pd>room {
  display:block;font-size:13px;font-weight:800;color:#1f2a44;letter-spacing:1px;line-height:1.2
}

.jk panel sched pd::before {
  content:attr(sub);display:block;grid-column:2;font-size:13px;font-weight:800;color:#1f2a44;letter-spacing:1px;line-height:1.2
}

.jk panel sched pd>room {
  font-size:10.5px;font-weight:600;color:#6a5d3a;letter-spacing:.5px
}

.jk panel sched pd>room::before {
  content:"⌂ ";opacity:.7
}

.jk panel sched pd>teach {
  grid-column:1/3;font-size:10px;color:#7a6a4a;border-top:1px dashed #c8b98e;margin-top:4px;padding-top:3px;letter-spacing:1px
}

.jk panel sched pd>teach::before {
  content:"👤 ";opacity:.6
}

/* Tooltip 时间：显示在卡片正上方，不被裁剪 */

.jk panel sched pd::after {
  content:attr(t);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%) translateY(4px);padding:3px 9px;font-size:10.5px;font-weight:700;letter-spacing:1px;color:#fff;background:linear-gradient(180deg,#2b3a5c,#141d38);border-radius:10px;white-space:nowrap;opacity:0;pointer-events:none;box-shadow:0 4px 10px rgba(20,30,60,.45),inset 0 1px 0 rgba(255,255,255,.25);transition:opacity .25s,transform .25s cubic-bezier(.34,1.56,.64,1);z-index:21
}

.jk panel sched pd::after {
  background:linear-gradient(180deg,#2b3a5c,#141d38)
}

.jk panel sched pd:hover::after {
  opacity:1;transform:translateX(-50%) translateY(0)
}

.jk panel sched pd:hover::after {
  background:linear-gradient(180deg,#2b3a5c,#141d38) padding-box
}

/* 状态：基于 [now] 的位置推断 */

.jk panel sched pd:has(~ pd[now]) {
  filter:saturate(.4) brightness(.94);opacity:.72;background:linear-gradient(155deg,#f0eadb,#dcd2b6)
}

.jk panel sched pd:has(~ pd[now])>room {
  color:#7a6f55
}

.jk panel sched pd:has(~ pd[now])::before {
  text-decoration:line-through;text-decoration-color:rgba(80,60,40,.45)
}

.jk panel sched pd[now] {
  background:linear-gradient(155deg,#fff7d8,#ffe28a);border-left-color:#da532c;animation:jkPdNow 1.6s ease-in-out infinite;box-shadow:0 4px 14px rgba(218,83,44,.4),inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(218,83,44,.3);z-index:5
}

.jk panel sched pd[now] pn {
  color:#c23b4a
}

.jk panel sched pd[now]::after {
  background:linear-gradient(180deg,#c23b4a,#6a1a1a);animation:jkPing 1.4s ease-in-out infinite;opacity:1;transform:translateX(-50%) translateY(0)
}

.jk panel sched pd[now] ~ pd {
  border-left-style:dashed;opacity:.94
}

@keyframes jkPdNow {
  0%,100%{box-shadow:0 4px 14px rgba(218,83,44,.4),inset 0 0 0 1px rgba(218,83,44,.3)}50%{box-shadow:0 6px 22px rgba(218,83,44,.6),inset 0 0 0 2px rgba(218,83,44,.55)}
}

/* 学科色—通过 sub 枚举 */

.jk panel sched pd[sub*="国"],.jk panel sched pd[sub*="现代文"],.jk panel sched pd[sub*="古典"] {
  border-left-color:#c23b4a
}

.jk panel sched pd[sub*="国"] pn,.jk panel sched pd[sub*="现代文"] pn {
  color:#c23b4a
}

.jk panel sched pd[sub*="数学"] {
  border-left-color:#2b5797
}

.jk panel sched pd[sub*="数学"] pn {
  color:#2b5797
}

.jk panel sched pd[sub*="英"] {
  border-left-color:#603cba
}

.jk panel sched pd[sub*="英"] pn {
  color:#603cba
}

.jk panel sched pd[sub*="化学"],.jk panel sched pd[sub*="物理"],.jk panel sched pd[sub*="生物"],.jk panel sched pd[sub*="理科"] {
  border-left-color:#00aba9
}

.jk panel sched pd[sub*="化学"] pn,.jk panel sched pd[sub*="物理"] pn,.jk panel sched pd[sub*="生物"] pn,.jk panel sched pd[sub*="理科"] pn {
  color:#00aba9
}

.jk panel sched pd[sub*="史"],.jk panel sched pd[sub*="地理"],.jk panel sched pd[sub*="公民"] {
  border-left-color:#825a2c
}

.jk panel sched pd[sub*="史"] pn {
  color:#825a2c
}

.jk panel sched pd[sub*="体育"] {
  border-left-color:#4d8f3c
}

.jk panel sched pd[sub*="体育"] pn {
  color:#4d8f3c
}

.jk panel sched pd[sub*="吹奏"],.jk panel sched pd[sub*="音乐"],.jk panel sched pd[sub*="美术"],.jk panel sched pd[sub*="书法"] {
  border-left-color:#e3a21a
}

.jk panel sched pd[sub*="吹奏"] pn,.jk panel sched pd[sub*="音乐"] pn {
  color:#b07a10
}

.jk panel sched pd[sub*="终礼"],.jk panel sched pd[sub*="班会"],.jk panel sched pd[sub*="HR"] {
  border-left-color:#7a6a4a;background:linear-gradient(155deg,#faf3e0,#e8ddb9)
}

.jk panel sched pd[sub*="道德"] {
  border-left-color:#3d72c4
}

/* ── 模考 ── */

.jk panel mock {
  margin-top:24px
}

.jk panel mock mbody {
  position:relative;display:grid;grid-template-columns:1fr 90px;grid-template-areas:"mname mcd" "mdate mcd" "msubs msubs";gap:4px 16px;padding:16px 18px 14px;background:linear-gradient(135deg,#1f2a44 0%,#3d72c4 60%,#5a7fc8 100%);border-radius:4px;color:#fff;overflow:hidden;box-shadow:0 6px 18px rgba(20,30,60,.4),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -3px 0 rgba(0,0,0,.22)
}

.jk panel mock mbody::before {
  content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 8px,transparent 8px 16px),radial-gradient(circle at 90% 110%,rgba(255,255,255,.2),transparent 55%);pointer-events:none
}

.jk panel mock mbody::after {
  content:"NEXT";position:absolute;top:-2px;left:-24px;padding:20px 30px 4px;font-size:9px;letter-spacing:3px;background:#c23b4a;color:#fff;transform:rotate(-32deg);font-weight:900;box-shadow:0 2px 6px rgba(0,0,0,.35);font-family:"Georgia",serif
}

.jk panel mock mname {
  grid-area:mname;font-size:16px;font-weight:800;letter-spacing:1.5px;text-shadow:0 1px 2px rgba(0,0,0,.45);z-index:1
}

.jk panel mock mdate {
  grid-area:mdate;font-size:11.5px;letter-spacing:2px;color:#cfe0ff;z-index:1;font-family:"Georgia",serif
}

.jk panel mock mdate::before {
  content:"📅 ";opacity:.75
}

.jk panel mock mcd {
  grid-area:mcd;align-self:center;justify-self:end;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:86px;height:86px;background:radial-gradient(circle at 30% 30%,#fffde0,#ffd060);border-radius:50%;color:#7a3a10;font-weight:900;font-size:10px;letter-spacing:2px;box-shadow:0 4px 14px rgba(0,0,0,.4),inset 0 -3px 0 rgba(180,120,30,.55),inset 0 1px 0 rgba(255,255,255,.9);animation:jkMockPulse 2s ease-in-out infinite;z-index:1
}

.jk panel mock mcd::before {
  content:attr(days);display:block;font-size:32px;line-height:1;font-family:"Georgia",serif;color:#c23b4a;text-shadow:1px 1px 0 #fff,2px 2px 0 rgba(194,59,74,.2)
}

.jk panel mock mcd::after {
  content:"days";font-size:8.5px;letter-spacing:1.5px;opacity:.85;font-family:"Georgia",serif;font-style:italic
}

.jk panel mock mcd[days="0"],.jk panel mock mcd[days="1"],.jk panel mock mcd[days="2"],.jk panel mock mcd[days="3"] {
  background:radial-gradient(circle at 30% 30%,#ffd6d6,#c23b4a);color:#fff;animation:jkMockPulseUrg 1s ease-in-out infinite
}

.jk panel mock mcd[days="0"]::before,.jk panel mock mcd[days="1"]::before,.jk panel mock mcd[days="2"]::before,.jk panel mock mcd[days="3"]::before {
  color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)
}

@keyframes jkMockPulse {
  0%,100%{transform:scale(1);box-shadow:0 4px 14px rgba(0,0,0,.4),inset 0 -3px 0 rgba(180,120,30,.55)}50%{transform:scale(1.06);box-shadow:0 6px 24px rgba(255,200,80,.7),inset 0 -3px 0 rgba(180,120,30,.55)}
}

@keyframes jkMockPulseUrg {
  0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(194,59,74,.6)}50%{transform:scale(1.08);box-shadow:0 0 0 10px rgba(194,59,74,0)}
}

.jk panel mock msubs {
  grid-area:msubs;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.32);z-index:1
}

.jk panel mock ms {
  display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 6px;background:rgba(255,255,255,.94);color:#1f2a44;font-weight:800;font-size:11px;border-radius:3px;box-shadow:0 2px 0 rgba(0,0,0,.3);transition:transform .25s,background .25s,color .25s;letter-spacing:1px
}

.jk panel mock ms:hover {
  transform:translateY(-3px) rotate(-4deg);background:#ffe28a;color:#7a3a10
}

/* ── 直近大型事件 ── */

.jk panel evlist {
  margin-top:24px
}

.jk panel evlist ev {
  position:relative;display:grid;grid-template-columns:62px 1fr 40px;grid-template-rows:auto auto;align-items:center;gap:2px 10px;padding:9px 10px 9px 10px;margin-bottom:7px;background:linear-gradient(90deg,#fffef8,#f4ecd6 75%,#fffef8);border:1px solid #c8b98e;border-radius:3px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,filter .3s;cursor:default;overflow:hidden
}

.jk panel evlist ev::before {
  content:attr(m)"\A"attr(d);grid-column:1;grid-row:1/3;white-space:pre;text-align:center;padding:5px 0 4px;background:#fff;border:1px solid #c8b98e;border-radius:2px;font-family:"Georgia",serif;font-weight:800;color:#2b3a5c;font-size:15px;line-height:1.15;box-shadow:inset 0 -2px 0 rgba(120,110,90,.18),0 1px 2px rgba(80,70,40,.1)
}

.jk panel evlist ev>i {
  grid-column:2;grid-row:2;font-size:10.5px;color:#7a6a4a;letter-spacing:.5px;font-style:normal;line-height:1.5
}

.jk panel evlist ev {
  line-height:1.4
}

.jk panel evlist ev>i::before {
  content:""
}

.jk panel evlist ev::after {
  content:"";grid-column:3;grid-row:1/3;width:36px;height:36px;background:#fff;border-radius:50%;border:2px solid currentColor;background-repeat:no-repeat;background-position:center;background-size:60%;box-shadow:0 2px 6px rgba(0,0,0,.15),inset 0 -2px 0 rgba(0,0,0,.08);transition:transform .35s cubic-bezier(.34,1.56,.64,1)
}

.jk panel evlist ev:hover {
  transform:translateX(5px);box-shadow:-4px 5px 0 rgba(0,0,0,.12),0 8px 16px rgba(80,70,40,.25);filter:saturate(1.15)
}

.jk panel evlist ev:hover::after {
  transform:rotate(12deg) scale(1.08)
}

.jk panel evlist ev:hover::before {
  background:#fffbe8
}

/* 事件类型色带（左侧竖条通过 box-shadow inset 模拟以避免占 grid 列） */

.jk panel evlist ev {
  border-left-width:4px;border-left-style:solid;border-left-color:#7a6a4a
}

.jk panel evlist ev[type="祭"] {
  border-left-color:#c23b4a;background:linear-gradient(90deg,#fff0f3,#ffdee6 80%,#fff0f3);color:#c23b4a
}

.jk panel evlist ev[type="祭"]::after {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c23b4a'><path d='M12 2c2 3 3 5 3 7a3 3 0 1 1-6 0c0-2 1-4 3-7zM4 13l3 1 1 3-2 4-3-1zM20 13l-3 1-1 3 2 4 3-1z'/></svg>")
}

.jk panel evlist ev[type="试"] {
  border-left-color:#2b5797;background:linear-gradient(90deg,#eef4ff,#d6e4ff 80%,#eef4ff);color:#2b5797
}

.jk panel evlist ev[type="试"]::after {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232b5797' stroke-width='2.4'><rect x='4' y='3' width='16' height='18' rx='2'/><path d='M8 8h8M8 12h8M8 16h5'/></svg>")
}

.jk panel evlist ev[type="诞"] {
  border-left-color:#603cba;background:linear-gradient(90deg,#f3edff,#e3d8ff 80%,#f3edff);color:#603cba
}

.jk panel evlist ev[type="诞"]::after {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23603cba' stroke-width='2.2'><path d='M4 21V13h16v8z'/><path d='M4 17h16M12 13V8M9 5a2 2 0 1 1 3 2 2 2 0 1 1 3-2'/></svg>")
}

.jk panel evlist ev[type="部"] {
  border-left-color:#00aba9;background:linear-gradient(90deg,#e6f7f6,#c9eeec 80%,#e6f7f6);color:#00aba9
}

.jk panel evlist ev[type="部"]::after {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300aba9' stroke-width='2.2'><circle cx='12' cy='12' r='9'/><path d='M9 9l6 3-6 3z' fill='%2300aba9'/></svg>")
}

.jk panel evlist ev[type="休"] {
  border-left-color:#4d8f3c;background:linear-gradient(90deg,#eef9e8,#d6efc8 80%,#eef9e8);color:#4d8f3c
}

.jk panel evlist ev[type="休"]::after {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234d8f3c' stroke-width='2.2'><path d='M12 3c-3 3-3 7 0 10s3 7 0 10'/><circle cx='12' cy='12' r='9'/></svg>")
}

.jk panel evlist ev[type="恋"] {
  border-left-color:#da532c;background:linear-gradient(90deg,#fff2eb,#ffd9c4 80%,#fff2eb);color:#da532c
}

.jk panel evlist ev[type="恋"]::after {
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23da532c'><path d='M12 21S3 14 3 8a5 5 0 0 1 9-3 5 5 0 0 1 9 3c0 6-9 13-9 13z'/></svg>")
}

.jk panel evlist ev>em {
  grid-column:2;grid-row:1;font-size:13px;font-weight:800;color:#1f2a44;letter-spacing:1px;font-style:normal
}

/* ── 羈絆任务 ── */

.jk panel quests {
  margin-top:24px;padding-bottom:60px
}

.jk panel quest {
  position:relative;display:block;margin:0 0 14px;padding:14px 18px 14px 22px;background:linear-gradient(180deg,#fffef8 0%,#f8f0d8 100%);border:1px solid #c8b98e;border-radius:4px;box-shadow:0 4px 12px rgba(80,70,40,.18),inset 0 1px 0 rgba(255,255,255,.8);transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s,filter .35s;overflow:hidden
}

.jk panel quest::before {
  content:"";position:absolute;left:0;top:0;bottom:0;width:7px
}

.jk panel quest::after {
  content:attr(state);position:absolute;top:0;right:0;padding:3px 12px 3px 18px;font-size:9.5px;font-weight:800;letter-spacing:2px;color:#fff;clip-path:polygon(14px 0,100% 0,100% 100%,0 100%);background:#7a6a4a;text-shadow:0 1px 0 rgba(0,0,0,.3)
}

.jk panel quest:hover {
  transform:translateY(-3px);box-shadow:0 12px 26px rgba(80,70,40,.3),inset 0 1px 0 rgba(255,255,255,.95);filter:brightness(1.03)
}

.jk panel quest[state="进行中"]::before {
  background:linear-gradient(180deg,#e3a21a,#b07a10);box-shadow:0 0 10px rgba(227,162,26,.65)
}

.jk panel quest[state="进行中"]::after {
  background:linear-gradient(90deg,#e3a21a,#b07a10)
}

.jk panel quest[state="未接取"] {
  background:linear-gradient(180deg,#f4ecd6 0%,#e8ddb9 100%);opacity:.95
}

.jk panel quest[state="未接取"]::before {
  background:repeating-linear-gradient(45deg,#c23b4a 0 6px,#fff 6px 8px,#c23b4a 8px 14px);animation:jkQAlert 2s linear infinite
}

.jk panel quest[state="未接取"]::after {
  background:linear-gradient(90deg,#c23b4a,#8a1a2a);animation:jkQBlink 1.6s ease-in-out infinite
}

.jk panel quest[state="已完成"]::before {
  background:linear-gradient(180deg,#7ed060,#3a8020)
}

.jk panel quest[state="已完成"]::after {
  background:linear-gradient(90deg,#4d8f3c,#1f4a15)
}

.jk panel quest[state="已完成"] {
  filter:saturate(.55);opacity:.78
}

@keyframes jkQAlert {
  to{background-position:0 28px}
}

@keyframes jkQBlink {
  0%,100%{filter:brightness(1)}50%{filter:brightness(1.4) drop-shadow(0 0 6px #c23b4a)}
}

.jk panel quest qname {
  display:block;padding-right:90px;font-size:14px;font-weight:900;color:#1f2a44;letter-spacing:1.5px;text-shadow:1px 1px 0 #fff;word-break:break-word;line-height:1.4;margin-bottom:6px
}

.jk panel quest qname::after {
  display:inline-block;margin-left:10px;font-size:11px;color:#e3a21a;font-weight:700;letter-spacing:2px;text-shadow:0 1px 0 rgba(180,120,30,.35);vertical-align:1px
}

.jk panel quest[r="★☆☆"] qname::after {
  content:"★☆☆"
}

.jk panel quest[r="★★☆"] qname::after {
  content:"★★☆"
}

.jk panel quest[r="★★★"] qname::after {
  content:"★★★";color:#c23b4a;text-shadow:0 0 6px rgba(194,59,74,.5)
}

.jk panel quest qfrom {
  display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;padding:3px 11px 3px 6px;background:rgba(43,87,151,.08);border:1px solid rgba(43,87,151,.28);border-radius:12px;font-size:10.5px;color:#2b3a5c;font-weight:800;letter-spacing:1px
}

.jk panel quest qfrom::before {
  content:"委托人 ·";color:#7a6a4a;font-weight:600;margin-right:2px
}

.jk panel quest qfrom::after {
  content:"";width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffd6d6,#c23b4a);box-shadow:inset 0 -1px 0 rgba(0,0,0,.3),0 0 0 1px rgba(255,255,255,.7)
}

.jk panel quest qdesc {
  display:block;margin:4px 0 12px;padding:9px 12px;background:rgba(255,255,255,.72);border-left:3px solid #c8b98e;font-size:11.5px;line-height:1.75;color:#4a4232;letter-spacing:.5px;font-style:italic;border-radius:0 3px 3px 0
}

.jk panel quest qdesc::before {
  content:"〝";color:#c23b4a;font-size:20px;font-weight:900;margin-right:3px;vertical-align:-5px;font-style:normal
}

.jk panel quest qdesc::after {
  content:"〟";color:#c23b4a;font-size:20px;font-weight:900;margin-left:3px;vertical-align:-5px;font-style:normal
}

.jk panel quest stages {
  position:relative;display:block;padding:6px 0 8px 4px;margin:0 0 10px;counter-reset:stgnum
}

.jk panel quest stages::before {
  content:"";position:absolute;left:14px;top:18px;bottom:18px;width:2px;background:repeating-linear-gradient(180deg,#c8b98e 0 4px,transparent 4px 8px)
}

.jk panel quest stg {
  position:relative;display:block;padding:6px 0 6px 36px;font-size:12px;color:#3a3220;line-height:1.55;letter-spacing:.5px;transition:color .25s,transform .25s;counter-increment:stgnum
}

.jk panel quest stg::before {
  content:counter(stgnum);position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:1;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff;border:2px solid #c8b98e;border-radius:50%;font-family:"Georgia",serif;font-weight:900;font-size:11px;color:#7a6a4a;box-shadow:0 2px 5px rgba(80,70,40,.22)
}

.jk panel quest stg[done="1"]::before {
  content:"✓";background:radial-gradient(circle at 30% 30%,#a8e880,#3a8020);border-color:#3a8020;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:0 0 10px rgba(126,208,96,.55)
}

.jk panel quest stg[done="1"] {
  color:#7a6a4a;text-decoration:line-through;text-decoration-color:rgba(122,106,74,.55);text-decoration-thickness:1px
}

.jk panel quest stg[done="0"]:hover {
  transform:translateX(4px);color:#1f2a44
}

.jk panel quest stg[done="0"]:hover::before {
  border-color:#da532c;color:#da532c;animation:jkStgPing 1s ease-in-out infinite
}

@keyframes jkStgPing {
  0%,100%{box-shadow:0 0 0 0 rgba(218,83,44,.6)}50%{box-shadow:0 0 0 7px rgba(218,83,44,0)}
}

.jk panel quest rwd {
  display:flex;align-items:center;gap:12px;padding:9px 12px;background:linear-gradient(90deg,rgba(227,162,26,.18),rgba(227,162,26,.04));border:1px dashed #b07a10;border-radius:3px;font-size:11.5px;position:relative;overflow:hidden
}

.jk panel quest rwd::before {
  content:"";width:26px;height:26px;flex:none;background:radial-gradient(circle at 30% 30%,#fff5c0,#e3a21a 65%,#8a5a0a 100%);border-radius:50%;box-shadow:0 2px 5px rgba(176,122,16,.45),inset 0 -2px 0 rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.6);position:relative;animation:jkRwdSpin 6s linear infinite
}

.jk panel quest rwd::after {
  content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.45) 50%,transparent 60%);transform:translateX(-100%);animation:jkRwdShine 3.5s ease-in-out infinite;pointer-events:none
}

.jk panel quest rwd rk {
  font-weight:900;color:#7a3a10;letter-spacing:2px;z-index:1
}

.jk panel quest rwd rk::after {
  content:" ▶"
}

.jk panel quest rwd ri {
  flex:1;color:#3a2a10;font-weight:600;letter-spacing:.5px;z-index:1;line-height:1.5
}

@keyframes jkRwdSpin {
  to{transform:rotate(360deg)}
}

@keyframes jkRwdShine {
  0%{transform:translateX(-100%)}40%,100%{transform:translateX(200%)}
}

/* ── Responsive ── */

@media (max-width:520px) {
  .jk panel sched periods {
    grid-template-columns:repeat(2,1fr);gap:7px
  }

  .jk panel sched pd {
    padding:7px 8px
  }

  .jk panel mock mbody {
    grid-template-columns:1fr 74px;padding:12px 14px
  }

  .jk panel mock mcd {
    width:72px;height:72px
  }

  .jk panel mock mcd::before {
    font-size:26px
  }

  .jk panel evlist ev {
    grid-template-columns:52px 1fr 32px;padding:7px 8px
  }

  .jk panel evlist ev>em {
    font-size:12px
  }

  .jk panel evlist ev::before {
    font-size:13px
  }

  .jk panel quest qname {
    font-size:13px;padding-right:70px
  }

  .jk panel quest::after {
    font-size:8.5px;padding:2px 7px 2px 13px
  }

  .jk panel quest rwd {
    font-size:11px;padding:7px 9px
  }
}

/* ═══ JK-METRO · CLASSMATE ROSTER v3.0 ═══ */

.jk panel:nth-of-type(2) {
  font-family:"Yu Gothic UI","Hiragino Sans","Noto Sans JP",sans-serif;color:#22242c;font-feature-settings:"palt" 1
}

.jk panel:nth-of-type(2) * {
  box-sizing:border-box
}

/* ─── 折叠舱 ─── */

.jk panel:nth-of-type(2) details {
  position:relative;display:block;margin:0 0 14px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(248,243,228,.78));border:1px solid #c8b98e;border-left:4px solid #00aba9;border-radius:3px;box-shadow:0 3px 8px rgba(30,45,90,.12),inset 0 0 0 1px rgba(255,255,255,.6),inset 0 -2px 0 rgba(120,110,90,.08);overflow:hidden;transition:box-shadow .35s
}

.jk panel:nth-of-type(2) details:nth-of-type(2) {
  border-left-color:#c23b4a
}

.jk panel:nth-of-type(2) details:nth-of-type(3) {
  border-left-color:#e3a21a
}

.jk panel:nth-of-type(2) details[open] {
  box-shadow:0 8px 20px rgba(30,45,90,.22),inset 0 0 0 1px rgba(255,255,255,.7),inset 0 0 30px rgba(108,122,156,.08)
}

.jk panel:nth-of-type(2) summary {
  position:relative;display:flex;align-items:center;gap:10px;padding:11px 14px 11px 38px;cursor:pointer;list-style:none;font-size:13px;font-weight:800;letter-spacing:3px;color:#fff;background:linear-gradient(95deg,#00aba9,#007a79 60%,#004f4e);box-shadow:inset 0 -2px 0 rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.18);text-shadow:0 1px 2px rgba(0,0,0,.4);transition:letter-spacing .3s;overflow:hidden
}

.jk panel:nth-of-type(2) summary::-webkit-details-marker {
  display:none
}

.jk panel:nth-of-type(2) details:nth-of-type(2) summary {
  background:linear-gradient(95deg,#c23b4a,#8a1a26 60%,#5a0c14)
}

.jk panel:nth-of-type(2) details:nth-of-type(3) summary {
  background:linear-gradient(95deg,#e3a21a,#a87410 60%,#6a4708)
}

.jk panel:nth-of-type(2) summary:hover {
  letter-spacing:4px
}

.jk panel:nth-of-type(2) summary::before {
  content:"";position:absolute;left:14px;top:50%;width:16px;height:16px;margin-top:-8px;background:#fff;-webkit-mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");transition:transform .4s cubic-bezier(.34,1.56,.64,1)
}

.jk panel:nth-of-type(2) details[open] summary::before {
  transform:rotate(-180deg)
}

.jk panel:nth-of-type(2) summary::after {
  content:attr(c);margin-left:auto;font-size:10px;letter-spacing:1.5px;font-weight:600;padding:2px 9px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);border-radius:10px
}

.jk panel:nth-of-type(2) cont {
  display:block;padding:14px;background:repeating-linear-gradient(0deg,rgba(74,104,148,.04) 0 1px,transparent 1px 26px),repeating-linear-gradient(90deg,rgba(74,104,148,.03) 0 1px,transparent 1px 26px),linear-gradient(180deg,#fffef8,#f6efd6);animation:cmFold .45s cubic-bezier(.34,1.56,.64,1)
}

@keyframes cmFold {
  from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}
}

/* ─── 图片映射 ─── */

/* =========================================
   立绘细化 - 表情差分系统
   ========================================= */

/* --- 1. 一之濑初穗 --- */
/* 默认（常态） */
.jk panel:nth-of-type(2) ch[n="一之濑初穗"]::before {
  background-image: url("https://pic1.imgdb.cn/item/6a07299b49e9c687542474bf/%E4%B8%80%E4%B9%8B%E6%BF%91%E5%88%9D%E7%A9%97_%E5%B8%B8%E6%80%81.png");
}
/* 表情差分 */
.jk panel:nth-of-type(2) ch[n="一之濑初穗"].喜悦::before { background-image: url("https://pic1.imgdb.cn/item/6a0729a049e9c687542474c9/%E4%B8%80%E4%B9%8B%E6%BF%91%E5%88%9D%E7%A9%97_%E5%96%9C%E6%82%A6.png"); }
.jk panel:nth-of-type(2) ch[n="一之濑初穗"].开心::before { background-image: url("https://pic1.imgdb.cn/item/6a07299f49e9c687542474c7/%E4%B8%80%E4%B9%8B%E6%BF%91%E5%88%9D%E7%A9%97_%E5%BC%80%E5%BF%83.png"); }
.jk panel:nth-of-type(2) ch[n="一之濑初穗"].紧张::before { background-image: url("https://pic1.imgdb.cn/item/6a07299f49e9c687542474c8/%E4%B8%80%E4%B9%8B%E6%BF%91%E5%88%9D%E7%A9%97_%E7%B4%A7%E5%BC%A0.png"); }
.jk panel:nth-of-type(2) ch[n="一之濑初穗"].害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07299c49e9c687542474c3/%E4%B8%80%E4%B9%8B%E6%BF%91%E5%88%9D%E7%A9%97_%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="一之濑初穗"].不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07299749e9c687542474b6/%E4%B8%80%E4%B9%8B%E6%BF%91%E5%88%9D%E7%A9%97_%E4%B8%8D%E6%82%A6.png"); }


/* --- 2. 一色葵 --- */
/* 默认（常态） */
.jk panel:nth-of-type(2) ch[n="一色葵"]::before {
  background-image: url("https://pic1.imgdb.cn/item/6a07298f49e9c687542474a7/%E4%B8%80%E8%89%B2%E8%91%B5_%E5%B8%B8%E6%80%81.png");
}
/* 表情差分 */
.jk panel:nth-of-type(2) ch[n="一色葵"].微笑::before { background-image: url("https://pic1.imgdb.cn/item/6a07299649e9c687542474b4/%E4%B8%80%E8%89%B2%E8%91%B5_%E5%BE%AE%E7%AC%91.png"); }
.jk panel:nth-of-type(2) ch[n="一色葵"].开心::before { background-image: url("https://pic1.imgdb.cn/item/6a07299449e9c687542474ad/%E4%B8%80%E8%89%B2%E8%91%B5_%E5%BC%80%E5%BF%83.png"); }
.jk panel:nth-of-type(2) ch[n="一色葵"].颓丧::before { background-image: url("https://pic1.imgdb.cn/item/6a07299449e9c687542474ae/%E4%B8%80%E8%89%B2%E8%91%B5_%E9%A2%93%E4%B8%A7.png"); }
.jk panel:nth-of-type(2) ch[n="一色葵"].害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07299249e9c687542474ab/%E4%B8%80%E8%89%B2%E8%91%B5_%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="一色葵"].担忧::before { background-image: url("https://pic1.imgdb.cn/item/6a07298f49e9c687542474a6/%E4%B8%80%E8%89%B2%E8%91%B5_%E6%8B%85%E5%BF%A7.png"); }
.jk panel:nth-of-type(2) ch[n="一色葵"].不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07298d49e9c687542474a1/%E4%B8%80%E8%89%B2%E8%91%B5_%E4%B8%8D%E6%82%A6.png"); }


/* --- 3. 叶山和时 --- */
/* 默认（常态） */
.jk panel:nth-of-type(2) ch[n="叶山和时"]::before {
  background-image: url("https://pic1.imgdb.cn/item/6a07298849e9c68754247493/%E5%8F%B6%E5%B1%B1%E5%92%8C%E6%97%B6_%E5%B8%B8%E6%80%81.png");
}
/* 表情差分 */
.jk panel:nth-of-type(2) ch[n="叶山和时"].平静::before { background-image: url("https://pic1.imgdb.cn/item/6a07298a49e9c68754247498/%E5%8F%B6%E5%B1%B1%E5%92%8C%E6%97%B6_%E5%B9%B3%E9%9D%99.png"); }
.jk panel:nth-of-type(2) ch[n="叶山和时"].害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07298a49e9c68754247499/%E5%8F%B6%E5%B1%B1%E5%92%8C%E6%97%B6_%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="叶山和时"].微笑::before { background-image: url("https://pic1.imgdb.cn/item/6a07298a49e9c6875424749a/%E5%8F%B6%E5%B1%B1%E5%92%8C%E6%97%B6_%E5%BE%AE%E7%AC%91.png"); }
.jk panel:nth-of-type(2) ch[n="叶山和时"].担忧::before { background-image: url("https://pic1.imgdb.cn/item/6a07298849e9c68754247494/%E5%8F%B6%E5%B1%B1%E5%92%8C%E6%97%B6_%E6%8B%85%E5%BF%A7.png"); }
.jk panel:nth-of-type(2) ch[n="叶山和时"].不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07298649e9c68754247490/%E5%8F%B6%E5%B1%B1%E5%92%8C%E6%97%B6_%E4%B8%8D%E6%82%A6.png"); }


/* --- 4. 天坂京 --- */
/* 默认（平常） */
.jk panel:nth-of-type(2) ch[n="天坂京"]::before {
  background-image: url("https://pic1.imgdb.cn/item/6a07298149e9c68754247489/%E5%A4%A9%E5%9D%82%E4%BA%AC_%E5%B9%B3%E5%B8%B8.png");
}
/* 表情差分 */
.jk panel:nth-of-type(2) ch[n="天坂京"].欣赏::before { background-image: url("https://pic1.imgdb.cn/item/6a07298449e9c6875424748d/%E5%A4%A9%E5%9D%82%E4%BA%AC_%E6%AC%A3%E8%B5%8F.png"); }
.jk panel:nth-of-type(2) ch[n="天坂京"].害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07297f49e9c68754247481/%E5%A4%A9%E5%9D%82%E4%BA%AC_%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="天坂京"].不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07297f49e9c68754247482/%E5%A4%A9%E5%9D%82%E4%BA%AC_%E4%B8%8D%E6%82%A6.png"); }


/* --- 5. 水上晶 --- */
/* 默认（常态） */
.jk panel:nth-of-type(2) ch[n="水上晶"]::before {
  background-image: url("https://pic1.imgdb.cn/item/6a07297649e9c68754247470/%E6%B0%B4%E4%B8%8A%E6%99%B6_%E5%B8%B8%E6%80%81.png");
}
/* 表情差分 */
.jk panel:nth-of-type(2) ch[n="水上晶"].爽朗::before { background-image: url("https://pic1.imgdb.cn/item/6a07297b49e9c6875424747b/%E6%B0%B4%E4%B8%8A%E6%99%B6_%E7%88%BD%E6%9C%97.png"); }
.jk panel:nth-of-type(2) ch[n="水上晶"].开心::before { background-image: url("https://pic1.imgdb.cn/item/6a07297a49e9c6875424747a/%E6%B0%B4%E4%B8%8A%E6%99%B6_%E5%BC%80%E5%BF%83.png"); }
.jk panel:nth-of-type(2) ch[n="水上晶"].惊愕::before { background-image: url("https://pic1.imgdb.cn/item/6a07297a49e9c68754247479/%E6%B0%B4%E4%B8%8A%E6%99%B6_%E6%83%8A%E6%84%95.png"); }
.jk panel:nth-of-type(2) ch[n="水上晶"].害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07297749e9c68754247475/%E6%B0%B4%E4%B8%8A%E6%99%B6_%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="水上晶"].不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07297549e9c68754247468/%E6%B0%B4%E4%B8%8A%E6%99%B6_%E4%B8%8D%E6%82%A6.png"); }


/* --- 6. 神田真白 --- */
/* 默认（常态 - 无墨镜） */
.jk panel:nth-of-type(2) ch[n="神田真白"]::before {
  background-image: url("https://pic1.imgdb.cn/item/6a07296249e9c68754247446/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E5%B8%B8%E6%80%81.png");
}
/* 表情差分（无墨镜） */
.jk panel:nth-of-type(2) ch[n="神田真白"].欣赏::before { background-image: url("https://pic1.imgdb.cn/item/6a07297449e9c68754247467/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E6%AC%A3%E8%B5%8F.png"); }
.jk panel:nth-of-type(2) ch[n="神田真白"].紧张::before { background-image: url("https://pic1.imgdb.cn/item/6a07296749e9c6875424744e/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E7%B4%A7%E5%BC%A0.png"); }
.jk panel:nth-of-type(2) ch[n="神田真白"].开心::before { background-image: url("https://pic1.imgdb.cn/item/6a07296749e9c6875424744f/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E5%BC%80%E5%BF%83.png"); }
.jk panel:nth-of-type(2) ch[n="神田真白"].害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07296549e9c6875424744b/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="神田真白"].不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07296149e9c68754247444/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E4%B8%8D%E6%82%A6.png"); }
.jk panel:nth-of-type(2) ch[n="神田真白"].暧昧::before { background-image: url("https://pic1.imgdb.cn/item/6a07296049e9c68754247441/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E6%9A%A7%E6%98%A7.png"); }
/* 表情差分（墨镜版本 - 假设使用 .墨镜 类名叠加） */
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜常态::before,
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜.常态::before { background-image: url("https://pic1.imgdb.cn/item/6a07296a49e9c68754247456/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E5%A2%A8%E9%95%9C%E5%B8%B8%E6%80%81.png"); }
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜开心::before,
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜.开心::before { background-image: url("https://pic1.imgdb.cn/item/6a07297149e9c68754247465/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E5%A2%A8%E9%95%9C%E5%BC%80%E5%BF%83.png"); }
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜害羞::before,
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜.害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07296f49e9c6875424745b/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E5%A2%A8%E9%95%9C%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜紧张::before,
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜.紧张::before { background-image: url("https://pic1.imgdb.cn/item/6a07296f49e9c6875424745c/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E5%A2%A8%E9%95%9C%E7%B4%A7%E5%BC%A0.png"); }
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜不悦::before,
.jk panel:nth-of-type(2) ch[n="神田真白"].墨镜.不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07296949e9c68754247454/%E7%A5%9E%E7%94%B0%E7%9C%9F%E7%99%BD_%E5%A2%A8%E9%95%9C%E4%B8%8D%E6%82%A6.png"); }


/* --- 7. 日下部小春 --- */
/* 默认（常态） */
.jk panel:nth-of-type(2) ch[n="日下部小春"]::before {
  background-image: url("https://pic1.imgdb.cn/item/6a07295849e9c68754247433/%E6%97%A5%E4%B8%8B%E9%83%A8%E5%B0%8F%E6%98%A5_%E5%B8%B8%E6%80%81.png");
}
/* 表情差分 */
.jk panel:nth-of-type(2) ch[n="日下部小春"].喜悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07295f49e9c68754247440/%E6%97%A5%E4%B8%8B%E9%83%A8%E5%B0%8F%E6%98%A5_%E5%96%9C%E6%82%A6.png"); }
.jk panel:nth-of-type(2) ch[n="日下部小春"].颓丧::before { background-image: url("https://pic1.imgdb.cn/item/6a07295e49e9c6875424743e/%E6%97%A5%E4%B8%8B%E9%83%A8%E5%B0%8F%E6%98%A5_%E9%A2%93%E4%B8%A7.png"); }
.jk panel:nth-of-type(2) ch[n="日下部小春"].开心::before { background-image: url("https://pic1.imgdb.cn/item/6a07295a49e9c68754247439/%E6%97%A5%E4%B8%8B%E9%83%A8%E5%B0%8F%E6%98%A5_%E5%BC%80%E5%BF%83.png"); }
.jk panel:nth-of-type(2) ch[n="日下部小春"].担忧::before { background-image: url("https://pic1.imgdb.cn/item/6a07295949e9c68754247436/%E6%97%A5%E4%B8%8B%E9%83%A8%E5%B0%8F%E6%98%A5_%E6%8B%85%E5%BF%A7.png"); }
.jk panel:nth-of-type(2) ch[n="日下部小春"].害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07295949e9c68754247435/%E6%97%A5%E4%B8%8B%E9%83%A8%E5%B0%8F%E6%98%A5_%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="日下部小春"].不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07295849e9c68754247430/%E6%97%A5%E4%B8%8B%E9%83%A8%E5%B0%8F%E6%98%A5_%E4%B8%8D%E6%82%A6.png"); }


/* --- 8. 濑尾凛香 --- */
/* 默认（常态） */
.jk panel:nth-of-type(2) ch[n="濑尾凛香"]::before {
  background-image: url("https://pic1.imgdb.cn/item/6a07294a49e9c6875424741e/%E6%BF%91%E5%B0%BE%E5%87%9B%E9%A6%99_%E5%B8%B8%E6%80%81.png");
}
/* 表情差分 */
.jk panel:nth-of-type(2) ch[n="濑尾凛香"].微笑::before { background-image: url("https://pic1.imgdb.cn/item/6a07295249e9c6875424742b/%E6%BF%91%E5%B0%BE%E5%87%9B%E9%A6%99_%E5%BE%AE%E7%AC%91.png"); }
.jk panel:nth-of-type(2) ch[n="濑尾凛香"].得意::before { background-image: url("https://pic1.imgdb.cn/item/6a07294f49e9c68754247424/%E6%BF%91%E5%B0%BE%E5%87%9B%E9%A6%99_%E5%BE%97%E6%84%8F.png"); }
.jk panel:nth-of-type(2) ch[n="濑尾凛香"].担忧::before { background-image: url("https://pic1.imgdb.cn/item/6a07294f49e9c68754247423/%E6%BF%91%E5%B0%BE%E5%87%9B%E9%A6%99_%E6%8B%85%E5%BF%A7.png"); }
.jk panel:nth-of-type(2) ch[n="濑尾凛香"].害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07294f49e9c68754247427/%E6%BF%91%E5%B0%BE%E5%87%9B%E9%A6%99_%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="濑尾凛香"].平静::before { background-image: url("https://pic1.imgdb.cn/item/6a07294f49e9c68754247426/%E6%BF%91%E5%B0%BE%E5%87%9B%E9%A6%99_%E5%B9%B3%E9%9D%99.png"); }
.jk panel:nth-of-type(2) ch[n="濑尾凛香"].不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07294949e9c6875424741b/%E6%BF%91%E5%B0%BE%E5%87%9B%E9%A6%99_%E4%B8%8D%E6%82%A6.png"); }


/* --- 9. 朝仓柚叶 --- */
/* 默认（常态） */
.jk panel:nth-of-type(2) ch[n="朝仓柚叶"]::before {
  background-image: url("https://pic1.imgdb.cn/item/6a07294049e9c6875424740b/%E6%9C%9D%E4%BB%93%E6%9F%9A%E5%8F%B6_%E5%B8%B8%E6%80%81.png");
}
/* 表情差分 */
.jk panel:nth-of-type(2) ch[n="朝仓柚叶"].平静::before { background-image: url("https://pic1.imgdb.cn/item/6a07294749e9c68754247418/%E6%9C%9D%E4%BB%93%E6%9F%9A%E5%8F%B6_%E5%B9%B3%E9%9D%99.png"); }
.jk panel:nth-of-type(2) ch[n="朝仓柚叶"].害羞::before { background-image: url("https://pic1.imgdb.cn/item/6a07294149e9c6875424740f/%E6%9C%9D%E4%BB%93%E6%9F%9A%E5%8F%B6_%E5%AE%B3%E7%BE%9E.png"); }
.jk panel:nth-of-type(2) ch[n="朝仓柚叶"].开心::before { background-image: url("https://pic1.imgdb.cn/item/6a07294149e9c6875424740e/%E6%9C%9D%E4%BB%93%E6%9F%9A%E5%8F%B6_%E5%BC%80%E5%BF%83.png"); }
.jk panel:nth-of-type(2) ch[n="朝仓柚叶"].不悦::before { background-image: url("https://pic1.imgdb.cn/item/6a07294049e9c6875424740c/%E6%9C%9D%E4%BB%93%E6%9F%9A%E5%8F%B6_%E4%B8%8D%E6%82%A6.png"); }
.jk panel:nth-of-type(2) ch[n="朝仓柚叶"].得意::before { background-image: url("https://pic1.imgdb.cn/item/6a07293f49e9c68754247408/%E6%9C%9D%E4%BB%93%E6%9F%9A%E5%8F%B6_%E5%BE%97%E6%84%8F.png"); }
.jk panel:nth-of-type(2) ch[n="朝仓柚叶"].惊讶::before { background-image: url("https://pic1.imgdb.cn/item/6a07293f49e9c68754247407/%E6%9C%9D%E4%BB%93%E6%9F%9A%E5%8F%B6_%E6%83%8A%E8%AE%B6.png"); }

/* =========================================
   立绘细化 - 无差分角色（单独立绘）
   ========================================= */

/* --- Y1 组 --- */
.jk panel:nth-of-type(2) ch[n="织田武人"]::before{background-image:url("")}
.jk panel:nth-of-type(2) ch[n="藤原泽"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02cda0c05e72d9171b792e.png")}
.jk panel:nth-of-type(2) ch[n="顾咕"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02ccdcc05e72d9171b7678.png")}
.jk panel:nth-of-type(2) ch[n="千缘秀一"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02cd9dc05e72d9171b792a.png")}
.jk panel:nth-of-type(2) ch[n="月野凌"]::before{background-image:url("https://pic1.imgdb.cn/item/69fa029e2356c9fc919329b7.png")}
.jk panel:nth-of-type(2) ch[n="东岛猛"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02ccdcc05e72d9171b7676.png")}
.jk panel:nth-of-type(2) ch[n="莲见结月"]::before{background-image:url("https://pic1.imgdb.cn/item/69fb48d6ecff72ad899fc0fc.png")}
.jk panel:nth-of-type(2) ch[n="镜岛夜子"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02d2d3c05e72d9171babd7.png")}

/* --- Y2 组 --- */
.jk panel:nth-of-type(2) ch[n="兵部相总"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02cd94c05e72d9171b7921.png")}
.jk panel:nth-of-type(2) ch[n="正木英年"]::before{background-image:url("https://pic1.imgdb.cn/item/6a034ba2c05e72d9171ed9cb.png")}
.jk panel:nth-of-type(2) ch[n="橘奏汰"]::before{background-image:url("")}
.jk panel:nth-of-type(2) ch[n="椎名穗香"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02d75bc05e72d9171bba92.png")}
.jk panel:nth-of-type(2) ch[n="新井莉子"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02d75bc05e72d9171bba91.png")}
.jk panel:nth-of-type(2) ch[n="森山葵"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02cfd0c05e72d9171ba629.png")}
.jk panel:nth-of-type(2) ch[n="松风峰子"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02cda0c05e72d9171b792f.png")}
.jk panel:nth-of-type(2) ch[n="大久保玛丽"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02cd97c05e72d9171b7923.png")}
.jk panel:nth-of-type(2) ch[n="空真盛"]::before{background-image:url("")}

/* --- Y3 组 --- */
.jk panel:nth-of-type(2) ch[n="佐久间亲盛"]::before{background-image:url("https://pic1.imgdb.cn/item/6a034b34c05e72d9171ed928.png")}
.jk panel:nth-of-type(2) ch[n="堂本晴臣"]::before{background-image:url("")}
.jk panel:nth-of-type(2) ch[n="宫前紬"]::before{background-image:url("")}
.jk panel:nth-of-type(2) ch[n="中岛美惠"]::before{background-image:url("https://catai.wiki/ec561ea0-250e-4819-4bdc-69793d492500/w=3000")}
.jk panel:nth-of-type(2) ch[n="新条师"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02d75bc05e72d9171bba8f.png")}
.jk panel:nth-of-type(2) ch[n="中臣用"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02db64c05e72d9171bcb42.png")}
.jk panel:nth-of-type(2) ch[n="森长久"]::before{background-image:url("")}
.jk panel:nth-of-type(2) ch[n="佐藤敏聪"]::before{background-image:url("")}
.jk panel:nth-of-type(2) ch[n="水野日间"]::before{background-image:url("")}

/* --- 教职员 & 外校组 --- */
.jk panel:nth-of-type(2) ch[n="今村洋子"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02cd9dc05e72d9171b7928.png")}
.jk panel:nth-of-type(2) ch[n="今村大介"]::before{background-image:url("")}
.jk panel:nth-of-type(2) ch[n="木下雪奈"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02cd91c05e72d9171b791e.png")}
.jk panel:nth-of-type(2) ch[n="ニコチン"]::before{background-image:url("https://pic1.imgdb.cn/item/6a02cfd1c05e72d9171ba62a.png")}
.jk panel:nth-of-type(2) ch[n="紫垣千雪"]::before{background-image:url("https://pic1.imgdb.cn/item/69fa029f2356c9fc919329be.png")}

/* ─── 在場 ─── */

.jk panel:nth-of-type(2) pres {
  display:flex;flex-wrap:wrap;gap:8px
}

.jk panel:nth-of-type(2) pres ch {
  position:relative;display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 42px;background:#fff;border:1px solid #c8b98e;border-radius:22px;box-shadow:0 2px 4px rgba(120,110,90,.15),inset 0 -2px 0 rgba(120,110,90,.06);font-size:12.5px;font-weight:600;color:#2a3a5c;letter-spacing:1px;transition:transform .25s,box-shadow .3s;cursor:default;min-height:36px
}

.jk panel:nth-of-type(2) pres ch:hover {
  transform:translateY(-2px) scale(1.04);box-shadow:0 5px 12px rgba(30,45,90,.22),inset 0 0 0 1px #2b5797
}

.jk panel:nth-of-type(2) pres ch::before {
  content:"";position:absolute;left:3px;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;background-color:#e8ddb9;background-size:cover;background-position:center top;border:2px solid #fff;box-shadow:0 0 0 1px #2b5797,0 2px 3px rgba(0,0,0,.18)
}

.jk panel:nth-of-type(2) pres ch[g="女"]::before {
  box-shadow:0 0 0 1px #c23b4a,0 2px 3px rgba(0,0,0,.18)
}

.jk panel:nth-of-type(2) pres ch tag {
  font-size:10px;color:#7a7568;font-weight:500;letter-spacing:.5px;padding-left:8px;margin-left:2px;border-left:1px dashed #c8b98e
}

/* ─── 当前関注 · Grid 布局 ─── */

.jk panel:nth-of-type(2) focus {
  display:flex;flex-direction:column;gap:16px
}

.jk panel:nth-of-type(2) focus ch {
  position:relative;display:grid;grid-template-columns:124px 1fr;grid-template-areas:"pic name" "pic phys" "mem mem";gap:10px 14px;padding:14px;background:linear-gradient(135deg,#ffffff 0%,#fbf6e6 100%);border:1px solid #c8b98e;border-radius:4px;box-shadow:0 4px 10px rgba(30,45,90,.14),inset 0 0 0 3px #fff,inset 0 0 0 4px #c8b98e;overflow:hidden;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s
}

.jk panel:nth-of-type(2) focus ch:hover {
  transform:translateY(-3px);box-shadow:0 12px 24px rgba(30,45,90,.25),inset 0 0 0 3px #fff,inset 0 0 0 4px #2b5797
}

.jk panel:nth-of-type(2) focus ch::before {
  content:"";grid-area:pic;width:124px;height:156px;background-color:#e8ddb9;background-size:cover;background-position:center top;border:3px solid #fff;border-radius:3px;box-shadow:0 0 0 1px #2b5797,0 4px 10px rgba(30,45,90,.3),inset 0 0 30px rgba(0,0,0,.15);align-self:start
}

.jk panel:nth-of-type(2) focus ch[g="女"]::before {
  box-shadow:0 0 0 1px #c23b4a,0 4px 10px rgba(194,59,74,.3),inset 0 0 30px rgba(0,0,0,.15)
}

.jk panel:nth-of-type(2) focus ch::after {
  content:attr(no);position:absolute;top:10px;right:12px;font-size:10px;font-weight:900;letter-spacing:2px;color:#c23b4a;opacity:.7;font-family:"Consolas",monospace;z-index:2
}

/* 姓名区 */

.jk panel:nth-of-type(2) focus top {
  grid-area:name;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 10px;padding-bottom:8px;border-bottom:1px dashed #c8b98e;position:relative;align-self:start
}

.jk panel:nth-of-type(2) focus top::after {
  content:"";position:absolute;left:0;bottom:-1px;width:50px;height:2px;background:linear-gradient(90deg,#2b5797,transparent)
}

.jk panel:nth-of-type(2) focus top nm {
  display:block;width:100%;font-size:17px;font-weight:800;color:#1a2340;letter-spacing:2px;line-height:1.2;text-shadow:1px 1px 0 #fff,2px 2px 0 rgba(43,87,151,.18)
}

.jk panel:nth-of-type(2) focus top yomi {
  display:block;width:100%;font-size:10.5px;color:#7a7568;letter-spacing:1.5px;font-weight:500;margin-top:-2px
}

.jk panel:nth-of-type(2) focus top age {
  font-size:11px;padding:2px 8px;background:linear-gradient(180deg,#fffaef,#f0e5c2);border:1px solid #c8b98e;border-radius:10px;color:#3a4665;font-weight:700;letter-spacing:.5px;margin-top:4px
}

.jk panel:nth-of-type(2) focus top dev {
  margin-top:4px;font-size:11px;font-weight:800;letter-spacing:1px;padding:3px 10px;background:linear-gradient(135deg,#2b5797,#0f2647);color:#fff;border-radius:3px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.3),0 2px 4px rgba(43,87,151,.4)
}

.jk panel:nth-of-type(2) focus top dev::before {
  content:"偏差値 ";font-size:9px;font-weight:600;opacity:.85;letter-spacing:.5px
}

/* 物理特征 */

.jk panel:nth-of-type(2) focus phys {
  grid-area:phys;display:flex;flex-direction:column;gap:10px;align-self:start
}

.jk panel:nth-of-type(2) focus phys b {
  display:block;font-size:11.5px;line-height:1.7;color:#3a3a3a;font-weight:400;padding:10px 10px 8px 10px;background:rgba(255,255,255,.65);border:1px solid #ddd1a4;border-radius:3px;position:relative;letter-spacing:.3px
}

.jk panel:nth-of-type(2) focus phys b::before {
  content:attr(t);position:absolute;left:7px;top:-7px;font-size:9px;color:#fff;background:#2b5797;padding:1px 6px;border-radius:2px;letter-spacing:1.5px;font-weight:700
}

.jk panel:nth-of-type(2) focus phys b[t="穿着"]::before {
  background:#c23b4a
}

/* 记忆栈 */

.jk panel:nth-of-type(2) focus mem {
  grid-area:mem;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:10px;border-top:1px dashed #c8b98e
}

.jk panel:nth-of-type(2) focus mem stk {
  display:block;background:rgba(255,255,255,.55);border:1px solid #ddd1a4;border-left:3px solid #603cba;border-radius:2px;padding:8px 10px;position:relative;max-height:150px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#603cba transparent
}

.jk panel:nth-of-type(2) focus mem stk[t="STM"] {
  border-left-color:#e3a21a
}

.jk panel:nth-of-type(2) focus mem stk::before {
  content:attr(t) " · " attr(jp);display:block;font-size:9.5px;font-weight:800;letter-spacing:2px;color:#603cba;padding:2px 0 6px;border-bottom:1px dotted #c8b98e;margin-bottom:6px
}

.jk panel:nth-of-type(2) focus mem stk[t="STM"]::before {
  color:#a87410
}

.jk panel:nth-of-type(2) focus mem stk e {
  display:block;font-size:11px;line-height:1.65;color:#3a3a3a;padding:4px 0 4px 14px;border-bottom:1px dashed rgba(200,185,142,.5);position:relative
}

.jk panel:nth-of-type(2) focus mem stk e:last-child {
  border-bottom:none
}

.jk panel:nth-of-type(2) focus mem stk e::before {
  content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:#603cba;box-shadow:0 0 0 2px rgba(96,60,186,.2)
}

.jk panel:nth-of-type(2) focus mem stk[t="STM"] e::before {
  background:#e3a21a;box-shadow:0 0 0 2px rgba(227,162,26,.2)
}

.jk panel:nth-of-type(2) focus mem stk e d {
  display:block;font-size:9.5px;color:#7a7568;letter-spacing:1px;font-weight:700;font-family:"Consolas",monospace;margin-bottom:1px
}

.jk panel:nth-of-type(2) focus mem stk::-webkit-scrollbar {
  width:5px
}

.jk panel:nth-of-type(2) focus mem stk::-webkit-scrollbar-thumb {
  background:linear-gradient(180deg,#603cba,#3c238f);border-radius:3px
}

/* ─── 羈絆 ─── */

.jk panel:nth-of-type(2) bond {
  display:grid;grid-template-columns:1fr 1fr;gap:10px
}

.jk panel:nth-of-type(2) bond ch {
  position:relative;display:block;padding:10px 12px 10px 76px;min-height:74px;background:linear-gradient(135deg,#fffef8,#f6efd6);border:1px solid #c8b98e;border-radius:3px;box-shadow:0 2px 6px rgba(120,110,90,.14),inset 0 0 0 2px #fff;transition:transform .3s,box-shadow .35s,border-color .3s;cursor:default
}

.jk panel:nth-of-type(2) bond ch:hover {
  transform:translateY(-2px);border-color:#e3a21a;box-shadow:0 8px 18px rgba(227,162,26,.25),inset 0 0 0 2px #fff,inset 0 0 0 3px #e3a21a
}

.jk panel:nth-of-type(2) bond ch::before {
  content:"";position:absolute;left:12px;top:12px;width:54px;height:54px;border-radius:50%;background-color:#e8ddb9;background-size:cover;background-position:center top;border:2px solid #fff;box-shadow:0 0 0 2px #e3a21a,0 3px 6px rgba(0,0,0,.2)
}

.jk panel:nth-of-type(2) bond ch[g="女"]::before {
  box-shadow:0 0 0 2px #c23b4a,0 3px 6px rgba(0,0,0,.2)
}

.jk panel:nth-of-type(2) bond ch info {
  display:flex;align-items:center;gap:6px;padding-bottom:4px;border-bottom:1px dashed #c8b98e
}

.jk panel:nth-of-type(2) bond ch info nm {
  font-size:13px;font-weight:800;color:#1a2340;letter-spacing:1.5px
}

.jk panel:nth-of-type(2) bond ch info rel {
  font-size:9.5px;letter-spacing:1px;font-weight:700;color:#fff;background:linear-gradient(135deg,#e3a21a,#a87410);padding:1px 6px;border-radius:2px;margin-left:auto
}

.jk panel:nth-of-type(2) bond ch info rel[r="恋人"] {
  background:linear-gradient(135deg,#c23b4a,#8a1a26)
}

.jk panel:nth-of-type(2) bond ch info rel[r="挚友"] {
  background:linear-gradient(135deg,#00aba9,#007a79)
}

.jk panel:nth-of-type(2) bond ch info rel[r="对手"] {
  background:linear-gradient(135deg,#603cba,#3c238f)
}

.jk panel:nth-of-type(2) bond ch info rel[r="家人"] {
  background:linear-gradient(135deg,#4d8f3c,#1f4a15)
}

/* ★ 羈絆徽章 · 水引結び SVG ★ */

.jk panel:nth-of-type(2) bond ch lv {
  display:flex;align-items:center;gap:8px;padding-top:6px;font-size:10px;color:#7a7568;letter-spacing:.5px;font-weight:600
}

.jk panel:nth-of-type(2) bond ch lv::before {
  content:"";flex:none;width:20px;height:20px;background:linear-gradient(135deg,#c23b4a,#e3a21a);-webkit-mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 11c0-3 3-5 6-3 2 1.2 3 3 4 5 1-2 2-3.8 4-5 3-2 6 0 6 3 0 4-5 7-10 11C11 18 6 15 6 11z'/><path d='M10 20c2 1 4 2 6 2s4-1 6-2' stroke-dasharray='1.5 1.8'/><circle cx='16' cy='11' r='1.4' fill='black' stroke='none'/></svg>");mask:center/contain no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 11c0-3 3-5 6-3 2 1.2 3 3 4 5 1-2 2-3.8 4-5 3-2 6 0 6 3 0 4-5 7-10 11C11 18 6 15 6 11z'/><path d='M10 20c2 1 4 2 6 2s4-1 6-2' stroke-dasharray='1.5 1.8'/><circle cx='16' cy='11' r='1.4' fill='black' stroke='none'/></svg>");filter:drop-shadow(0 1px 1px rgba(194,59,74,.4));animation:cmHeart 2.2s ease-in-out infinite
}

@keyframes cmHeart {
  0%,100%{transform:scale(1)}50%{transform:scale(1.12)}
}

.jk panel:nth-of-type(2) bond ch lv bar {
  flex:1;height:8px;background:repeating-linear-gradient(45deg,#f0e5c2 0 4px,#e8ddb9 4px 8px);border:1px solid #c8b98e;border-radius:1px;position:relative;overflow:hidden;box-shadow:inset 0 1px 2px rgba(0,0,0,.15)
}

.jk panel:nth-of-type(2) bond ch lv bar e {
  display:block;height:100%;background:linear-gradient(90deg,#c23b4a,#e3a21a 50%,#4d8f3c);box-shadow:0 0 6px rgba(227,162,26,.6),inset 0 -2px 0 rgba(0,0,0,.2);position:relative;transition:width .8s cubic-bezier(.34,1.56,.64,1)
}

.jk panel:nth-of-type(2) bond ch lv bar e::after {
  content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent)
}

.jk panel:nth-of-type(2) bond ch lv val {
  font-size:11px;font-weight:900;color:#c23b4a;font-family:"Consolas",monospace;letter-spacing:.5px;min-width:34px;text-align:right
}

.jk panel:nth-of-type(2) bond ch tag {
  display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;padding-top:6px;border-top:1px dotted #c8b98e
}

.jk panel:nth-of-type(2) bond ch tag s {
  font-size:9.5px;padding:1px 6px;background:rgba(43,87,151,.08);border:1px solid rgba(43,87,151,.3);color:#2b5797;border-radius:8px;letter-spacing:.5px;font-weight:600;text-decoration:none;transition:background .2s
}

.jk panel:nth-of-type(2) bond ch tag s:hover {
  background:#2b5797;color:#fff
}

@media (max-width:520px) {
  .jk panel:nth-of-type(2) focus ch {
    grid-template-columns:92px 1fr
  }

  .jk panel:nth-of-type(2) focus ch::before {
    width:92px;height:116px
  }

  .jk panel:nth-of-type(2) focus top nm {
    font-size:15px
  }

  .jk panel:nth-of-type(2) focus mem {
    grid-template-columns:1fr
  }

  .jk panel:nth-of-type(2) bond {
    grid-template-columns:1fr
  }

  .jk panel:nth-of-type(2) summary {
    font-size:12px;letter-spacing:2px;padding:9px 12px 9px 34px
  }
}

/* ═══ THINK · 放课后窗景 LOADER v2 ═══ */

.jk think {
  display:none;color:transparent;font-size:0;line-height:0
}

.jk think:last-child {
  display:block;position:relative;width:100%;aspect-ratio:660/260;margin:0;
  border-radius:6px;overflow:hidden;background:#0a1428;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 660 260' preserveAspectRatio='xMidYMid meet'><defs><linearGradient id='sky' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23ffd6a8'><animate attributeName='stop-color' values='%23a8c8ff;%23ffd6a8;%23ff9d7a;%23c8a8ff;%231a2348;%23a8c8ff' dur='24s' repeatCount='indefinite'/></stop><stop offset='0.55' stop-color='%23ffb89a'><animate attributeName='stop-color' values='%23ffe8c8;%23ffb89a;%23e87858;%237858a8;%230a1228;%23ffe8c8' dur='24s' repeatCount='indefinite'/></stop><stop offset='1' stop-color='%23f8e8c8'><animate attributeName='stop-color' values='%23fff4e0;%23f8e8c8;%23c84a3a;%23281848;%23000814;%23fff4e0' dur='24s' repeatCount='indefinite'/></stop></linearGradient><radialGradient id='sundot'><stop offset='0' stop-color='%23fffaea'/><stop offset='0.5' stop-color='%23ffd070'/><stop offset='1' stop-color='%23ff8030' stop-opacity='0'/></radialGradient><linearGradient id='board' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23204a3a'/><stop offset='0.5' stop-color='%23123828'/><stop offset='1' stop-color='%230a2418'/></linearGradient><linearGradient id='frame' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23f8eed0'/><stop offset='0.3' stop-color='%23d8b478'/><stop offset='0.7' stop-color='%23a87848'/><stop offset='1' stop-color='%235a3818'/></linearGradient><linearGradient id='tray' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23a87848'/><stop offset='1' stop-color='%235a3818'/></linearGradient><radialGradient id='chalkglow'><stop offset='0' stop-color='%23fff8e0' stop-opacity='0.4'/><stop offset='1' stop-color='%23fff' stop-opacity='0'/></radialGradient><pattern id='chalkdust' width='180' height='180' patternUnits='userSpaceOnUse'><circle cx='20' cy='30' r='0.6' fill='%23fff' opacity='0.15'/><circle cx='80' cy='60' r='0.4' fill='%23fff' opacity='0.1'/><circle cx='140' cy='20' r='0.5' fill='%23fff' opacity='0.12'/><circle cx='40' cy='110' r='0.4' fill='%23fff' opacity='0.08'/><circle cx='120' cy='140' r='0.6' fill='%23fff' opacity='0.14'/><circle cx='160' cy='95' r='0.3' fill='%23fff' opacity='0.09'/><circle cx='60' cy='160' r='0.5' fill='%23fff' opacity='0.11'/></pattern><filter id='chalk'><feTurbulence baseFrequency='0.9' numOctaves='2' seed='3'/><feDisplacementMap in='SourceGraphic' scale='1.2'/></filter><filter id='glow' x='-50%' y='-50%' width='200%' height='200%'><feGaussianBlur stdDeviation='1.5'/><feMerge><feMergeNode/><feMergeNode in='SourceGraphic'/></feMerge></filter><filter id='softblur'><feGaussianBlur stdDeviation='1'/></filter><g id='petal'><path d='M0 -7 C 2.3 -4.8 2.3 -1.8 1.1 -.4 C .4 .3 -.4 .3 -1.1 -.4 C -2.3 -1.8 -2.3 -4.8 0 -7 Z' fill='%23ffd0dc' stroke='%23c23b5a' stroke-width='0.5'/></g><g id='sakuraflower'><circle r='2.2' fill='none' stroke='%23ffe8f0' stroke-width='1' opacity='0.85'/><circle r='0.7' fill='%23ffe8f0' opacity='0.7'/><g stroke='%23ffe8f0' stroke-width='0.6' stroke-linecap='round' opacity='0.7'><line x1='0' y1='-2.2' x2='0' y2='-3.4'/><line x1='2.1' y1='-0.7' x2='3.2' y2='-1.1'/><line x1='1.3' y1='1.8' x2='2' y2='2.8'/><line x1='-1.3' y1='1.8' x2='-2' y2='2.8'/><line x1='-2.1' y1='-0.7' x2='-3.2' y2='-1.1'/></g></g></defs><rect width='660' height='260' fill='url(%23sky)'/><g opacity='0.4'><path d='M0 200 L80 180 L140 195 L220 175 L300 188 L380 170 L460 192 L540 178 L620 196 L660 185 L660 260 L0 260 Z' fill='%231a2842'/><path d='M0 215 L100 200 L180 212 L260 198 L340 210 L420 196 L500 214 L580 200 L660 212 L660 260 L0 260 Z' fill='%230a1828' opacity='0.65'/><g fill='%23ffe890' opacity='0.6'><rect x='90' y='205' width='2' height='3'><animate attributeName='opacity' values='0.6;0.2;0.6' dur='3s' repeatCount='indefinite'/></rect><rect x='175' y='200' width='2' height='3'><animate attributeName='opacity' values='0.6;0.2;0.6' dur='4s' repeatCount='indefinite' begin='-1s'/></rect><rect x='285' y='208' width='2' height='3'><animate attributeName='opacity' values='0.6;0.2;0.6' dur='3.5s' repeatCount='indefinite' begin='-2s'/></rect><rect x='395' y='202' width='2' height='3'><animate attributeName='opacity' values='0.6;0.2;0.6' dur='2.8s' repeatCount='indefinite'/></rect><rect x='505' y='210' width='2' height='3'><animate attributeName='opacity' values='0.6;0.2;0.6' dur='3.2s' repeatCount='indefinite' begin='-1.5s'/></rect></g></g><g><circle cx='530' cy='75' r='30' fill='url(%23sundot)'><animate attributeName='r' values='28;32;28' dur='4s' repeatCount='indefinite'/></circle><circle cx='530' cy='75' r='14' fill='%23fff8e0'/><animateTransform attributeName='transform' type='translate' values='0 0;30 22;0 0' dur='24s' repeatCount='indefinite'/></g><g opacity='0.55'><rect x='-100' y='160' width='80' height='14' rx='2' fill='%23e8e0c8'><animate attributeName='x' values='-100;760' dur='18s' repeatCount='indefinite'/></rect><rect x='-100' y='162' width='80' height='3' fill='%23da532c'><animate attributeName='x' values='-100;760' dur='18s' repeatCount='indefinite'/></rect><rect x='-94' y='166' width='68' height='5' fill='%231a2842' opacity='0.6'><animate attributeName='x' values='-94;766' dur='18s' repeatCount='indefinite'/></rect></g><g opacity='0.75'><path d='M-20 175 L680 175' stroke='%231a1a1a' stroke-width='1.2' stroke-dasharray='1 4'/><path d='M-20 178 L680 178' stroke='%231a1a1a' stroke-width='0.7' opacity='0.4'/></g><g><rect x='170' y='30' width='320' height='200' fill='url(%23board)'/><rect x='170' y='30' width='320' height='200' fill='url(%23chalkdust)' opacity='0.6'/><rect x='170' y='30' width='320' height='200' fill='url(%23chalkglow)' opacity='0.7'/><g stroke='%23ffffff' stroke-width='0.7' fill='none' opacity='0.42'><path d='M186 50 Q 200 45 214 52 Q 220 60 212 66' stroke-linecap='round'/><path d='M196 56 Q 204 52 210 58' stroke-linecap='round' opacity='0.6'/><use href='%23sakuraflower' transform='translate(195 75)'/><use href='%23sakuraflower' transform='translate(208 88)' opacity='0.7'/><use href='%23sakuraflower' transform='translate(188 95)' opacity='0.8'/><path d='M183 105 L240 105 M183 112 L240 112 M183 119 L240 119 M183 126 L240 126 M183 133 L240 133' stroke-width='0.4' opacity='0.5'/><circle cx='195' cy='112' r='2' fill='%23ffffff' opacity='0.7'/><path d='M193 110 L193 100' stroke-width='0.6'/><circle cx='208' cy='119' r='2' fill='%23ffffff' opacity='0.7'/><path d='M206 117 L206 106' stroke-width='0.6'/><circle cx='223' cy='112' r='2' fill='%23ffffff' opacity='0.7'/><path d='M221 110 L221 100' stroke-width='0.6'/><circle cx='236' cy='119' r='2' fill='%23ffffff' opacity='0.7'/><path d='M234 117 L234 106' stroke-width='0.6'/></g><g stroke='%23ffffff' fill='none' opacity='0.4'><circle cx='455' cy='62' r='22' stroke-width='0.8'/><circle cx='455' cy='62' r='18' stroke-width='0.4' opacity='0.6'/><g stroke-width='0.5' stroke-linecap='round'><line x1='455' y1='44' x2='455' y2='47'/><line x1='473' y1='62' x2='470' y2='62'/><line x1='455' y1='80' x2='455' y2='77'/><line x1='437' y1='62' x2='440' y2='62'/></g><line x1='455' y1='62' x2='455' y2='50' stroke-width='1' stroke-linecap='round'><animateTransform attributeName='transform' type='rotate' from='0 455 62' to='360 455 62' dur='40s' repeatCount='indefinite'/></line><line x1='455' y1='62' x2='465' y2='62' stroke-width='0.7' stroke-linecap='round'><animateTransform attributeName='transform' type='rotate' from='0 455 62' to='360 455 62' dur='8s' repeatCount='indefinite'/></line><circle cx='455' cy='62' r='1.2' fill='%23ffffff'/></g><g stroke='%23ffd6e0' stroke-width='0.6' fill='none' opacity='0.5'><path d='M440 95 Q 460 92 478 98' stroke-linecap='round'/><use href='%23sakuraflower' transform='translate(444 98)'/><use href='%23sakuraflower' transform='translate(458 94)'/><use href='%23sakuraflower' transform='translate(472 99)'/><path d='M435 110 L482 110 M435 116 L482 116 M435 122 L482 122' stroke-width='0.3' opacity='0.4'/><text x='437' y='133' font-family='cursive' font-size='8' fill='%23ffffff' opacity='0.7' stroke='none'>7/18 木</text></g><g transform='translate(330 145)' filter='url(%23glow)'><text x='0' y='0' text-anchor='middle' font-family='Yu Gothic UI,serif' font-size='34' font-weight='700' fill='%23ffffff' letter-spacing='10' filter='url(%23chalk)'>考<animate attributeName='opacity' values='0.9;1;0.9' dur='2.5s' repeatCount='indefinite'/></text><text x='34' y='0' text-anchor='middle' font-family='Yu Gothic UI,serif' font-size='34' font-weight='700' fill='%23fff8e8' letter-spacing='10' filter='url(%23chalk)'>え<animate attributeName='opacity' values='1;0.85;1' dur='2.5s' repeatCount='indefinite' begin='-0.5s'/></text><text x='68' y='0' text-anchor='middle' font-family='Yu Gothic UI,serif' font-size='34' font-weight='700' fill='%23ffffff' letter-spacing='10' filter='url(%23chalk)'>中<animate attributeName='opacity' values='0.9;1;0.9' dur='2.5s' repeatCount='indefinite' begin='-1s'/></text><g font-family='serif' font-size='34' font-weight='700' fill='%23ffe0ec'><text x='95' y='0'>.<animate attributeName='opacity' values='0;1;1;1;0' keyTimes='0;0.25;0.5;0.75;1' dur='1.5s' repeatCount='indefinite'/></text><text x='108' y='0'>.<animate attributeName='opacity' values='0;0;1;1;0' keyTimes='0;0.25;0.5;0.75;1' dur='1.5s' repeatCount='indefinite'/></text><text x='121' y='0'>.<animate attributeName='opacity' values='0;0;0;1;0' keyTimes='0;0.25;0.5;0.75;1' dur='1.5s' repeatCount='indefinite'/></text></g><path d='M-90 18 L138 18' stroke='%23ffffff' stroke-width='0.5' opacity='0.4' stroke-dasharray='3 4'/><text x='0' y='32' text-anchor='middle' font-family='Segoe UI,sans-serif' font-size='9' fill='%23a8e8d0' letter-spacing='6' opacity='0.8'>NOW LOADING · 放課後</text></g><g stroke='%23ffffff' stroke-width='0.5' fill='none' opacity='0.35'><circle cx='200' cy='165' r='3'/><path d='M195 175 L 205 175 L 200 168 Z'/><path d='M213 165 L 233 165 M213 170 L 233 170'/><circle cx='248' cy='168' r='4'/><path d='M246 166 L 250 170 M250 166 L 246 170'/></g><g stroke='%23ffe8f0' stroke-width='0.6' fill='none' opacity='0.55'><path d='M260 195 Q 290 188 320 195 Q 350 202 380 195 Q 410 188 440 195' stroke-linecap='round'/><use href='%23sakuraflower' transform='translate(275 192)'/><use href='%23sakuraflower' transform='translate(310 199) scale(0.85)'/><use href='%23sakuraflower' transform='translate(345 191) scale(0.9)'/><use href='%23sakuraflower' transform='translate(380 198) scale(0.85)'/><use href='%23sakuraflower' transform='translate(420 193)'/></g><g transform='translate(190 35)'><line x1='0' y1='0' x2='0' y2='12' stroke='%23a89878' stroke-width='0.5'/><g><animateTransform attributeName='transform' type='rotate' values='-8;8;-8' dur='5s' repeatCount='indefinite'/><path d='M-7 12 L 7 12 L 0 22 Z M -7 12 L 0 5 L 7 12 M -4 14 L 4 14 L 0 19 Z' fill='%23ff9fb5' stroke='%23c23b5a' stroke-width='0.5'/><circle cx='0' cy='10' r='0.8' fill='%23c23b5a' opacity='0.6'/></g></g><g transform='translate(470 35)'><line x1='0' y1='0' x2='0' y2='14' stroke='%23a89878' stroke-width='0.5'/><g><animateTransform attributeName='transform' type='rotate' values='6;-6;6' dur='6s' repeatCount='indefinite'/><path d='M-7 14 L 7 14 L 0 24 Z M -7 14 L 0 7 L 7 14 M -4 16 L 4 16 L 0 21 Z' fill='%23a8d8f0' stroke='%232b5797' stroke-width='0.5'/><circle cx='0' cy='12' r='0.8' fill='%232b5797' opacity='0.6'/></g></g><g opacity='0.45'><circle cx='220' cy='50' r='0.8' fill='%23fff'><animate attributeName='cy' values='50;225' dur='8s' repeatCount='indefinite'/><animate attributeName='opacity' values='0.7;0' dur='8s' repeatCount='indefinite'/></circle><circle cx='290' cy='80' r='0.6' fill='%23fff'><animate attributeName='cy' values='80;225' dur='9s' repeatCount='indefinite' begin='-2s'/><animate attributeName='opacity' values='0.6;0' dur='9s' repeatCount='indefinite' begin='-2s'/></circle><circle cx='400' cy='65' r='0.9' fill='%23fff'><animate attributeName='cy' values='65;225' dur='7.5s' repeatCount='indefinite' begin='-4s'/><animate attributeName='opacity' values='0.8;0' dur='7.5s' repeatCount='indefinite' begin='-4s'/></circle><circle cx='450' cy='100' r='0.5' fill='%23fff'><animate attributeName='cy' values='100;225' dur='10s' repeatCount='indefinite' begin='-1s'/><animate attributeName='opacity' values='0.5;0' dur='10s' repeatCount='indefinite' begin='-1s'/></circle></g><path d='M170 30 L490 30 L490 230 L170 230 Z' fill='none' stroke='url(%23frame)' stroke-width='7'/><rect x='164' y='24' width='332' height='9' rx='1' fill='%238a5e30'/><rect x='164' y='227' width='332' height='9' rx='1' fill='%235a3818'/><rect x='178' y='225' width='304' height='10' fill='url(%23tray)'/><g><rect x='190' y='220' width='35' height='8' rx='2' fill='%23fff5f5' stroke='%23e8a0a0' stroke-width='0.4'/><rect x='192' y='222' width='4' height='4' fill='%23ffc0c0' opacity='0.5'/><rect x='235' y='219' width='30' height='9' rx='2' fill='%23a0d8e8' stroke='%235a8a98' stroke-width='0.4'/><rect x='280' y='220' width='40' height='8' rx='2' fill='%23fff8d0' stroke='%23c89a2a' stroke-width='0.4'/><rect x='335' y='218' width='52' height='11' rx='2' fill='%23f8e0c0' stroke='%23a87838'/><rect x='337' y='220' width='48' height='2' fill='%23e8c890'/><rect x='400' y='220' width='30' height='8' rx='2' fill='%23ffd8a0' stroke='%23c08840' stroke-width='0.4'/><rect x='440' y='219' width='38' height='9' rx='1.5' fill='%23d8a878' stroke='%235a3818' stroke-width='0.4'/><rect x='443' y='221' width='32' height='5' fill='%23f8d8a8'/></g></g><g filter='url(%23softblur)' opacity='0.75'><path d='M40 0 Q 60 60 30 100 Q 70 140 50 200 Q 30 240 60 260' stroke='%235a3018' stroke-width='3.5' fill='none'/><g fill='%23ffb8c8' opacity='0.88'><circle cx='35' cy='50' r='9'/><circle cx='52' cy='32' r='11'/><circle cx='26' cy='78' r='10'/><circle cx='58' cy='95' r='12'/><circle cx='38' cy='128' r='10'/><circle cx='62' cy='158' r='11'/><circle cx='32' cy='185' r='9'/><circle cx='58' cy='215' r='10'/><circle cx='25' cy='240' r='9'/></g><g fill='%23ffe8ee' opacity='0.6'><circle cx='48' cy='40' r='3'/><circle cx='32' cy='90' r='2.5'/><circle cx='54' cy='110' r='3'/><circle cx='42' cy='170' r='2.5'/></g></g><g filter='url(%23softblur)' opacity='0.7'><path d='M620 0 Q 600 50 632 100 Q 590 140 612 200 Q 642 235 600 260' stroke='%235a3018' stroke-width='3.5' fill='none'/><g fill='%23ffc0d0' opacity='0.88'><circle cx='627' cy='38' r='10'/><circle cx='606' cy='68' r='11'/><circle cx='638' cy='102' r='9'/><circle cx='598' cy='132' r='12'/><circle cx='627' cy='168' r='10'/><circle cx='604' cy='200' r='11'/><circle cx='632' cy='228' r='9'/></g></g><g><use href='%23petal'><animateTransform attributeName='transform' type='translate' values='80 -20;100 280' dur='9s' repeatCount='indefinite'/><animateTransform attributeName='transform' type='rotate' values='0;360' dur='4s' repeatCount='indefinite' additive='sum'/></use><use href='%23petal'><animateTransform attributeName='transform' type='translate' values='130 -30;100 280' dur='11s' repeatCount='indefinite' begin='-2s'/><animateTransform attributeName='transform' type='rotate' values='0;-360' dur='5s' repeatCount='indefinite' additive='sum'/></use><use href='%23petal'><animateTransform attributeName='transform' type='translate' values='540 -25;510 285' dur='10s' repeatCount='indefinite' begin='-4s'/><animateTransform attributeName='transform' type='rotate' values='0;360' dur='4.5s' repeatCount='indefinite' additive='sum'/></use><use href='%23petal'><animateTransform attributeName='transform' type='translate' values='600 -40;580 285' dur='12s' repeatCount='indefinite' begin='-1s'/><animateTransform attributeName='transform' type='rotate' values='0;-360' dur='5.5s' repeatCount='indefinite' additive='sum'/></use><use href='%23petal'><animateTransform attributeName='transform' type='translate' values='40 -20;70 280' dur='10s' repeatCount='indefinite' begin='-3s'/><animateTransform attributeName='transform' type='rotate' values='0;-360' dur='4.2s' repeatCount='indefinite' additive='sum'/></use><use href='%23petal'><animateTransform attributeName='transform' type='translate' values='580 -30;600 285' dur='11.5s' repeatCount='indefinite' begin='-7s'/><animateTransform attributeName='transform' type='rotate' values='0;360' dur='5.2s' repeatCount='indefinite' additive='sum'/></use></g><g transform='translate(190 244)'><rect width='40' height='8' fill='%2300aba9'><animate attributeName='opacity' values='1;0.25;1' dur='3.5s' repeatCount='indefinite' begin='0s'/></rect><rect x='44' width='40' height='8' fill='%23e3a21a'><animate attributeName='opacity' values='1;0.25;1' dur='3.5s' repeatCount='indefinite' begin='0.2s'/></rect><rect x='88' width='40' height='8' fill='%23da532c'><animate attributeName='opacity' values='1;0.25;1' dur='3.5s' repeatCount='indefinite' begin='0.4s'/></rect><rect x='132' width='40' height='8' fill='%23825a2c'><animate attributeName='opacity' values='1;0.25;1' dur='3.5s' repeatCount='indefinite' begin='0.6s'/></rect><rect x='176' width='40' height='8' fill='%23603cba'><animate attributeName='opacity' values='1;0.25;1' dur='3.5s' repeatCount='indefinite' begin='0.8s'/></rect><rect x='220' width='40' height='8' fill='%232b5797'><animate attributeName='opacity' values='1;0.25;1' dur='3.5s' repeatCount='indefinite' begin='1s'/></rect><rect x='264' width='40' height='8' fill='%234d8f3c'><animate attributeName='opacity' values='1;0.25;1' dur='3.5s' repeatCount='indefinite' begin='1.2s'/></rect></g><text x='330' y='258' text-anchor='middle' font-family='Segoe UI,sans-serif' font-size='8' fill='%23fff8e0' opacity='0.85' letter-spacing='3'>2013 · 桜ヶ丘高校 · 放課後の窓辺</text></svg>");
  background-size:contain;background-repeat:no-repeat;background-position:center;
  box-shadow:0 8px 24px rgba(20,30,80,.4),inset 0 0 0 1px rgba(255,255,255,.12);
  animation:thAppear .5s cubic-bezier(.34,1.56,.64,1) both
}

@keyframes thAppear {
  from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}
}

@media(max-width:520px) {
  .jk think:last-child {
    border-radius:4px
  }
}

/* --- 基底：代码块根容器 --- */

.rili-markdown-renderer pre {
  position: relative;
  border-radius: 0px !important;
  border: 2px solid #0078d7 !important;
  margin: 1.5em 0 !important;
  overflow: visible !important;
  box-shadow:
  0 0 0 1px rgba(0, 120, 215, 0.3),
  4px 4px 0px 0px #005a9e,
  6px 6px 18px rgba(30, 58, 47, 0.35) !important;
  background: #1e3a2f !important;
  transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.rili-markdown-renderer pre:hover {
  border-color: #f4a7b9 !important;
  box-shadow:
  0 0 0 1px rgba(244, 167, 185, 0.4),
  4px 4px 0px 0px #c2185b,
  6px 6px 24px rgba(244, 167, 185, 0.18),
  0 0 40px rgba(244, 167, 185, 0.06) !important;
}

/* --- 樱花花瓣装饰（右上角） --- */

.rili-markdown-renderer pre::before {
  content: '';
  position: absolute;
  top: -14px;
  right: 16px;
  width: 28px;
  height: 28px;
  z-index: 10;
  opacity: 0.85;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3CradialGradient id='pg' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%23fce4ec'/%3E%3Cstop offset='100%25' stop-color='%23f4a7b9'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg transform='translate(50,50)'%3E%3Cellipse rx='14' ry='28' fill='url(%23pg)' transform='rotate(0)' opacity='0.9'/%3E%3Cellipse rx='14' ry='28' fill='url(%23pg)' transform='rotate(72)' opacity='0.85'/%3E%3Cellipse rx='14' ry='28' fill='url(%23pg)' transform='rotate(144)' opacity='0.9'/%3E%3Cellipse rx='14' ry='28' fill='url(%23pg)' transform='rotate(216)' opacity='0.85'/%3E%3Cellipse rx='14' ry='28' fill='url(%23pg)' transform='rotate(288)' opacity='0.9'/%3E%3Ccircle r='6' fill='%23ffcc80' opacity='0.9'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  filter: drop-shadow(0 1px 3px rgba(244, 167, 185, 0.5));
  transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease !important;
  transform: rotate(0deg);
}

.rili-markdown-renderer pre:hover::before {
  transform: rotate(45deg) scale(1.15);
  opacity: 1;
}

/* --- Metro风格标识条（左侧竖线） --- */

.rili-markdown-renderer pre::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(
  180deg,
  #0078d7 0%,
  #00a4ef 30%,
  #f4a7b9 70%,
  #ffb347 100%
  );
  z-index: 5;
  transition: width 0.3s ease !important;
}

.rili-markdown-renderer pre:hover::after {
  width: 6px;
}

/* --- 主容器（带语言标识） --- */

.rili-markdown-renderer pre > div {
  background: transparent !important;
  position: relative;
}

/* --- 头部栏：Win8 Metro 标题栏 --- */

.rili-markdown-renderer pre > div > div.flex.justify-between.h-8,
.rili-markdown-renderer pre > div > div.border-b {
  background: linear-gradient(135deg, #0078d7 0%, #00a4ef 60%, #00bcd4 100%) !important;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2) !important;
  padding: 0 12px 0 16px !important;
  height: 36px !important;
  align-items: center !important;
  position: relative;
  transition: background 0.3s ease !important;
}

.rili-markdown-renderer pre:hover > div > div.flex.justify-between.h-8,
.rili-markdown-renderer pre:hover > div > div.border-b {
  background: linear-gradient(135deg, #005a9e 0%, #0078d7 60%, #00a4ef 100%) !important;
}

/* 头部栏右侧 Metro 窗口装饰点 */

.rili-markdown-renderer pre > div > div.flex.justify-between.h-8::before,
.rili-markdown-renderer pre > div > div.border-b::before {
  content: '_ □ ×';
  position: absolute;
  right: 52px;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Segoe UI', 'Yu Gothic UI', sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 6px;
  pointer-events: none;
  transition: color 0.3s ease !important;
}

.rili-markdown-renderer pre:hover > div > div.flex.justify-between.h-8::before,
.rili-markdown-renderer pre:hover > div > div.border-b::before {
  color: rgba(255, 255, 255, 0.8);
}

/* --- 语言标签：Metro Segoe 风格 --- */

.rili-markdown-renderer pre > div > div.flex.justify-between > div.text-\[13px\],
.rili-markdown-renderer pre > div > div.flex.justify-between > div:first-child {
  font-family: 'Segoe UI', 'Yu Gothic UI', 'Meiryo', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  background: rgba(0, 0, 0, 0.15) !important;
  padding: 2px 10px !important;
  border-radius: 0px !important;
  line-height: 1.6 !important;
  transition: background 0.3s ease !important;
}

.rili-markdown-renderer pre:hover > div > div.flex.justify-between > div.text-\[13px\],
.rili-markdown-renderer pre:hover > div > div.flex.justify-between > div:first-child {
  background: rgba(0, 0, 0, 0.25) !important;
}

/* --- 复制按钮图标颜色联动 (R3) --- */

.rili-markdown-renderer pre svg.lucide-copy,
.rili-markdown-renderer pre div[data-tooltip-id^="copy-tooltip"] > svg {
  color: rgba(255, 255, 255, 0.7) !important;
  transition: color 0.25s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.rili-markdown-renderer pre .group:hover svg.lucide-copy,
.rili-markdown-renderer pre div[data-tooltip-id^="copy-tooltip"]:hover > svg {
  color: #ffffff !important;
  transform: scale(1.2) !important;
}

/* --- 代码内容区：黑板质感 (R4) --- */

.rili-markdown-renderer pre > div > div[node] {
  background:
  linear-gradient(
  180deg,
  rgba(255, 255, 255, 0.02) 0%,
  transparent 2px,
  transparent 100%
  ),
  repeating-linear-gradient(
  0deg,
  transparent,
  transparent 23px,
  rgba(255, 255, 255, 0.03) 23px,
  rgba(255, 255, 255, 0.03) 24px
  ),
  #1e3a2f !important;
  color: #e8e6df !important;
  padding: 16px 16px 16px 20px !important;
  position: relative;
}

/* 黑板左侧粉笔槽装饰线 */

.rili-markdown-renderer pre > div > div[node]::before {
  content: '';
  position: absolute;
  left: 12px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  background: linear-gradient(
  180deg,
  transparent 0%,
  rgba(244, 167, 185, 0.3) 15%,
  rgba(244, 167, 185, 0.3) 85%,
  transparent 100%
  );
  pointer-events: none;
}

/* 代码文字：粉笔手写感 */

.rili-markdown-renderer pre code[class^="language-"],
.rili-markdown-renderer pre > div > div[node] > code {
  font-family: 'Consolas', 'Source Code Pro', 'MS Gothic', monospace !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  color: #e8e6df !important;
  white-space: pre !important;
  text-shadow: 0 0 1px rgba(232, 230, 223, 0.1) !important;
}

/* --- 语法高亮：校园色彩 --- */

.rili-markdown-renderer pre code[class^="language-"] > span {
  transition: text-shadow 0.2s ease !important;
}

/* --- 纯代码块（TYPE_B） --- */

.rili-markdown-renderer pre > code[node],
.rili-markdown-renderer pre > code:only-child {
  display: block !important;
  background:
  repeating-linear-gradient(
  0deg,
  transparent,
  transparent 23px,
  rgba(255, 255, 255, 0.03) 23px,
  rgba(255, 255, 255, 0.03) 24px
  ),
  #1e3a2f !important;
  color: #e8e6df !important;
  padding: 16px 16px 16px 20px !important;
  font-family: 'Consolas', 'Source Code Pro', 'MS Gothic', monospace !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  border-radius: 0px !important;
  text-shadow: 0 0 1px rgba(232, 230, 223, 0.1) !important;
}

/* --- 散落的第二片小樱花瓣（左下角） --- */

.rili-markdown-renderer pre > div > div[node]::after {
  content: '';
  position: absolute;
  bottom: -8px;
  left: 24px;
  width: 16px;
  height: 16px;
  opacity: 0.6;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cdefs%3E%3CradialGradient id='sp' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%23fce4ec'/%3E%3Cstop offset='100%25' stop-color='%23f48fb1'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg transform='translate(30,30) rotate(25)'%3E%3Cellipse rx='8' ry='18' fill='url(%23sp)' transform='rotate(0)' opacity='0.85'/%3E%3Cellipse rx='8' ry='18' fill='url(%23sp)' transform='rotate(72)' opacity='0.8'/%3E%3Cellipse rx='8' ry='18' fill='url(%23sp)' transform='rotate(144)' opacity='0.85'/%3E%3Cellipse rx='8' ry='18' fill='url(%23sp)' transform='rotate(216)' opacity='0.8'/%3E%3Cellipse rx='8' ry='18' fill='url(%23sp)' transform='rotate(288)' opacity='0.85'/%3E%3Ccircle r='4' fill='%23ffe0b2' opacity='0.8'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  filter: drop-shadow(0 1px 2px rgba(244, 143, 177, 0.4));
  pointer-events: none;
  transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease !important;
  transform: rotate(15deg);
}

.rili-markdown-renderer pre:hover > div > div[node]::after {
  transform: rotate(-20deg) translateY(2px) scale(1.1);
  opacity: 0.85;
}

/* --- 滚动条：Metro 极简风 --- */

.rili-markdown-renderer pre > div > div[node]::-webkit-scrollbar,
.rili-markdown-renderer pre > code[node]::-webkit-scrollbar,
.rili-markdown-renderer pre > code:only-child::-webkit-scrollbar {
  height: 5px !important;
  background: transparent !important;
}

.rili-markdown-renderer pre > div > div[node]::-webkit-scrollbar-thumb,
.rili-markdown-renderer pre > code[node]::-webkit-scrollbar-thumb,
.rili-markdown-renderer pre > code:only-child::-webkit-scrollbar-thumb {
  background: rgba(0, 120, 215, 0.4) !important;
  border-radius: 0px !important;
  transition: background 0.3s ease !important;
}

.rili-markdown-renderer pre > div > div[node]::-webkit-scrollbar-thumb:hover,
.rili-markdown-renderer pre > code[node]::-webkit-scrollbar-thumb:hover,
.rili-markdown-renderer pre > code:only-child::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 120, 215, 0.7) !important;
}

/* --- 选中文字效果 --- */

.rili-markdown-renderer pre code::selection,
.rili-markdown-renderer pre code span::selection {
  background: rgba(0, 120, 215, 0.35) !important;
  color: #ffffff !important;
}

.rili-markdown-renderer pre code::-moz-selection,
.rili-markdown-renderer pre code span::-moz-selection {
  background: rgba(0, 120, 215, 0.35) !important;
  color: #ffffff !important;
}