/* apps-extra.css —— 日程提醒 / 倒数日 / iCost / 同人文 共用样式 */
.xa-body{padding:12px 14px 90px}
.xa-mask{position:absolute;inset:0;background:rgba(40,30,40,.38);z-index:60;display:flex;align-items:flex-end;animation:xaIn .18s ease}
@keyframes xaIn{from{opacity:0}to{opacity:1}}
.xa-sheet{background:var(--bg-color);width:100%;max-height:88%;overflow-y:auto;border-radius:22px 22px 0 0;padding:16px 16px 26px;box-sizing:border-box;animation:xaUp .22s ease}
@keyframes xaUp{from{transform:translateY(30px)}to{transform:none}}
.xa-sheet h3{margin:0 0 12px;font-size:16px;color:var(--text-main)}
.xa-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:10px 12px;margin-bottom:8px;font-size:14px;color:var(--text-main)}
.xa-row>span:first-child{color:var(--text-sub);font-size:13px;flex:none}
.xa-row input,.xa-row select{border:none;background:transparent;color:var(--text-main);font-size:14px;text-align:right;outline:none;min-width:0;max-width:62%;font-family:inherit}
.xa-btns{display:flex;gap:10px;margin-top:12px}
.xa-btns button{flex:1;border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:11px 0;font-size:14px;cursor:pointer}
.xa-btns button.pri{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.xa-btns button.dan{color:#d9534f}
.xa-btns button:active{transform:scale(.96)}
.xa-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.xa-chips button{border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:6px 13px;font-size:13px;cursor:pointer}
.xa-chips button.on{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.xa-title{font-size:13px;color:var(--text-sub);margin:16px 4px 8px}
.xa-empty{padding:34px 10px;text-align:center;color:var(--text-sub);font-size:13px;line-height:1.8}
.xa-fab{position:absolute;right:18px;bottom:22px;width:52px;height:52px;border-radius:50%;border:none;background:var(--theme-color);color:var(--on-accent);font-size:28px;line-height:1;box-shadow:0 6px 16px rgba(0,0,0,.18);cursor:pointer;z-index:20}
.xa-fab:active{transform:scale(.92)}

/* ---------- 日程提醒 ---------- */
.ag-smart{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px}
.ag-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:12px;cursor:pointer;transition:transform .12s}
.ag-card:active{transform:scale(.97)}
.ag-card .top{display:flex;justify-content:space-between;align-items:flex-start}
.ag-card .ico{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.ag-card .ico svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ag-card .n{font-size:26px;font-weight:700;color:var(--text-main)}
.ag-card .t{font-size:13px;color:var(--text-sub);margin-top:6px;font-weight:600}
.ag-list{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;overflow:hidden}
.ag-list .li-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-color);cursor:pointer;font-size:15px;color:var(--text-main)}
.ag-list .li-row:last-child{border-bottom:none}
.ag-list .dot{width:28px;height:28px;border-radius:50%;flex:none}
.ag-list .li-row b{flex:1;font-weight:500}
.ag-list .li-row em{font-style:normal;color:var(--text-sub);font-size:14px}
.ag-h{display:flex;align-items:center;justify-content:space-between;margin:2px 2px 10px}
.ag-h h2{margin:0;font-size:26px;color:var(--lc,var(--text-main))}
.ag-it{display:flex;gap:10px;padding:10px 12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;margin-bottom:8px;align-items:flex-start}
.ag-chk{width:24px;height:24px;border-radius:50%;border:2px solid var(--lc,var(--theme-color));flex:none;margin-top:1px;background:transparent;cursor:pointer;padding:0;position:relative}
.ag-chk.on{background:var(--lc,var(--theme-color))}
.ag-chk.on:after{content:'';position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ag-it .mid{flex:1;min-width:0;cursor:pointer}
.ag-it .tt{font-size:15px;color:var(--text-main);word-break:break-all}
.ag-it.done .tt{text-decoration:line-through;color:var(--text-sub)}
.ag-it .sub{font-size:12px;color:var(--text-sub);margin-top:3px;line-height:1.5}
.ag-it .sub.od{color:#e0556b}
.ag-grp{font-size:13px;color:var(--text-sub);margin:14px 4px 6px;font-weight:600}
.ag-quick{display:flex;gap:8px;margin-bottom:12px}
.ag-quick input{flex:1;border:1px solid var(--border-color);background:var(--card-bg);border-radius:999px;padding:10px 14px;font-size:14px;color:var(--text-main);outline:none}
.ag-quick button{border:none;background:var(--theme-color);color:var(--on-accent);border-radius:999px;padding:0 16px;font-size:14px;cursor:pointer}
.ag-cal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:10px}
.ag-cal .hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;color:var(--text-main);font-weight:600}
.ag-cal .hd button{border:none;background:transparent;font-size:20px;color:var(--theme-dark);padding:2px 10px;cursor:pointer}
.ag-cal .g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.ag-cal .w{font-size:11px;color:var(--text-sub);padding:4px 0}
.ag-cal .d{height:40px;border-radius:10px;font-size:14px;color:var(--text-main);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;position:relative}
.ag-cal .d.td{color:var(--theme-dark);font-weight:700}
.ag-cal .d.sel{background:var(--theme-color);color:var(--on-accent)}
.ag-cal .d i{width:5px;height:5px;border-radius:50%;background:var(--theme-color);margin-top:2px}
.ag-cal .d.sel i{background:#fff}
.ag-cal .d.o{opacity:.3}

/* ---------- 倒数日 ---------- */
.cd-hero{border-radius:22px;padding:20px 18px;color:var(--tx,#fff);position:relative;overflow:hidden;margin-bottom:14px;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.cd-hero:before{content:'';position:absolute;right:-30px;top:-30px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.16)}
.cd-hero:after{content:'';position:absolute;right:30px;bottom:-50px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.1)}
.cd-hero .tt{font-size:15px;opacity:.95;position:relative}
.cd-hero .num{font-family:var(--ff,inherit);font-size:56px;font-weight:800;line-height:1.1;margin:8px 0 2px;position:relative;font-variant-numeric:tabular-nums}
.cd-hero .num small{font-size:16px;font-weight:600;margin-left:4px}
.cd-hero .dt{font-size:12px;opacity:.9;position:relative}
.cd-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.cd-tabs::-webkit-scrollbar{display:none}
.cd-tabs button{flex:none;border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}
.cd-tabs button.on{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.cd-it{display:flex;align-items:center;gap:12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:12px 14px;margin-bottom:10px;cursor:pointer;border-left:5px solid var(--cc,var(--theme-color))}
.cd-it:active{transform:scale(.98)}
/* 自定义背景图片在列表卡片中也显示为缩略图，避免只在编辑预览中可见 */
.cd-it.cd-has-img{position:relative;isolation:isolate;overflow:hidden}
.cd-it .cd-thumb{position:absolute;inset:0;z-index:-1;background-size:cover;background-position:center;opacity:.28;pointer-events:none}
.cd-it.cd-has-img .l,.cd-it.cd-has-img .r{position:relative;z-index:1}
.cd-it.cd-has-img .tt,.cd-it.cd-has-img .sb{color:var(--text-main);text-shadow:0 1px 2px rgba(0,0,0,.08)}
.cd-eico{display:inline-block;margin-right:4px}
.cd-it .l{flex:1;min-width:0}
.cd-it .tt{font-size:15px;color:var(--text-main);font-weight:600;word-break:break-all}
.cd-it .sb{font-size:12px;color:var(--text-sub);margin-top:4px}
.cd-it .r{text-align:right;flex:none}
.cd-it .r b{font-family:var(--ff,inherit);font-size:30px;color:var(--cc,var(--theme-dark));font-variant-numeric:tabular-nums;line-height:1}
.cd-it .r span{display:block;font-size:11px;color:var(--text-sub);margin-top:4px}
.cd-it.past .r b{color:var(--text-sub)}
.cd-pin{display:inline-block;font-size:10px;background:var(--accent-soft);color:var(--theme-dark);border-radius:6px;padding:1px 5px;margin-left:6px;vertical-align:middle;font-weight:600}
.cd-colors{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 10px}
.cd-colors i{width:28px;height:28px;border-radius:50%;cursor:pointer;border:3px solid transparent;box-sizing:border-box}
.cd-colors i.on{border-color:var(--text-main)}
.cd-seg{display:flex;background:var(--card-bg);border:1px solid var(--border-color);border-radius:999px;padding:3px;margin-bottom:10px}
.cd-seg button{flex:1;border:none;background:transparent;color:var(--text-sub);border-radius:999px;padding:8px 0;font-size:14px;cursor:pointer}
.cd-seg button.on{background:var(--theme-color);color:var(--on-accent);font-weight:600}
.cd-det{text-align:center;padding:10px 0 4px}
.cd-det .num{font-family:var(--ff,inherit);font-size:64px;font-weight:800;color:var(--cc);line-height:1.1}
.cd-det .num small{font-size:18px}
.cd-det .ymd{color:var(--text-sub);font-size:13px;margin-top:6px}

/* ---------- iCost ---------- */
.ic-top{background:linear-gradient(145deg,var(--theme-color),color-mix(in srgb,var(--theme-color) 55%,#000));color:var(--on-accent);border-radius:22px;padding:16px;margin-bottom:12px;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.ic-top .m{display:flex;align-items:center;justify-content:space-between;font-size:13px;opacity:.95}
.ic-top .m button{border:1px solid currentColor;background:rgba(255,255,255,.18);color:var(--on-accent);border-radius:999px;padding:3px 12px;font-size:12px;cursor:pointer}
.ic-top .big{font-size:34px;font-weight:800;margin:8px 0 2px;font-variant-numeric:tabular-nums}
.ic-top .row3{display:flex;gap:14px;font-size:12px;opacity:.95;margin-top:6px}
.ic-top .row3 b{display:block;font-size:15px;margin-top:2px}
.ic-bud{margin-top:12px;font-size:12px}
.ic-bud .bar{height:7px;border-radius:99px;background:rgba(255,255,255,.3);margin-top:5px;overflow:hidden}
.ic-bud .bar i{display:block;height:100%;background:#fff;border-radius:99px}
.ic-bud.over .bar i{background:#ffd1d1}
.ic-day{display:flex;justify-content:space-between;font-size:12px;color:var(--text-sub);margin:14px 4px 6px}
.ic-tx{display:flex;align-items:center;gap:12px;background:var(--card-bg);border:1px solid var(--border-color);padding:10px 12px;margin-bottom:6px;border-radius:14px;cursor:pointer}
.ic-tx:active{transform:scale(.98)}
.ic-ico{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
.ic-ico svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ic-tx .l{flex:1;min-width:0}
.ic-tx .l b{display:block;font-size:14px;color:var(--text-main);font-weight:600}
.ic-tx .l span{font-size:12px;color:var(--text-sub);display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ic-tx .a{font-size:16px;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}
.ic-tx .a.in{color:#3aa76d}
.ic-tx .a.tr{color:var(--text-sub)}
.ic-nav{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;background:var(--card-bg);border-top:1px solid var(--border-color);padding:6px 6px calc(8px + env(safe-area-inset-bottom));z-index:30}
.ic-nav button{flex:1;border:none;background:transparent;color:var(--text-sub);font-size:11px;padding:4px 0;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}
.ic-nav button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ic-nav button.on{color:var(--theme-dark);font-weight:700}
.ic-nav .add{flex:none;width:54px;height:54px;border-radius:50%;background:var(--theme-color);color:var(--on-accent);margin:-22px 10px 0;box-shadow:0 6px 14px rgba(0,0,0,.2);justify-content:center}
.ic-nav .add svg{stroke:#fff;width:26px;height:26px;stroke-width:2.2}
.ic-add{position:absolute;inset:0;background:var(--bg-color);z-index:70;display:flex;flex-direction:column;animation:xaUp .2s ease}
.ic-add .hd{display:flex;align-items:center;justify-content:space-between;padding:48px 14px 12px;flex:none}
.ic-add .hd button{border:none;background:transparent;color:var(--theme-dark);font-size:15px;cursor:pointer;padding:4px 6px}
.ic-add .tp{display:flex;background:var(--card-bg);border:1px solid var(--border-color);border-radius:999px;padding:3px}
.ic-add .tp button{padding:6px 18px;border-radius:999px;color:var(--text-sub);font-size:14px}
.ic-add .tp button.on{background:var(--theme-color);color:var(--on-accent);font-weight:600}
.ic-cats{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:12px 4px;padding:6px 12px;align-content:start}
.ic-cat{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;color:var(--text-sub);cursor:pointer;border:none;background:transparent;padding:4px 0}
.ic-cat .ic-ico{width:46px;height:46px;border-radius:50%;opacity:.55;transition:all .12s}
.ic-cat.on{color:var(--text-main);font-weight:600}
.ic-cat.on .ic-ico{opacity:1;transform:scale(1.08);box-shadow:0 4px 10px rgba(0,0,0,.18)}
.ic-pad{flex:none;background:var(--card-bg);border-top:1px solid var(--border-color);padding:8px 10px calc(10px + env(safe-area-inset-bottom))}
.ic-amt{display:flex;align-items:center;gap:10px;padding:2px 6px 8px}
.ic-amt .ic-ico{width:34px;height:34px;border-radius:50%}
.ic-amt input{flex:1;min-width:0;border:none;background:transparent;font-size:14px;color:var(--text-main);outline:none}
.ic-amt b{font-size:26px;font-variant-numeric:tabular-nums;color:var(--text-main)}
.ic-chips{display:flex;gap:8px;padding:0 4px 8px;overflow-x:auto}
.ic-chips button,.ic-chips label{flex:none;border:1px solid var(--border-color);background:var(--bg-color);color:var(--theme-dark);border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer;position:relative}
.ic-chips label input{position:absolute;inset:0;opacity:0;width:100%}
.ic-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ic-keys button{border:none;background:var(--bg-color);border-radius:12px;height:46px;font-size:20px;color:var(--text-main);cursor:pointer;font-variant-numeric:tabular-nums}
.ic-keys button:active{background:var(--accent-soft)}
.ic-keys .ok{background:var(--theme-color);color:var(--on-accent);font-size:15px;grid-row:span 2;height:auto;font-weight:700}
.ic-keys .op{color:var(--theme-dark)}
.ic-donut{display:flex;justify-content:center;margin:6px 0 12px;position:relative}
.ic-donut .ct{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.ic-donut .ct b{font-size:22px;color:var(--text-main)}
.ic-donut .ct span{font-size:12px;color:var(--text-sub)}
.ic-rank{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ic-rank .bar{flex:1;height:8px;border-radius:99px;background:var(--accent-soft);overflow:hidden;margin-top:5px}
.ic-rank .bar i{display:block;height:100%;border-radius:99px}
.ic-rank .l{flex:1;min-width:0;font-size:13px;color:var(--text-main)}
.ic-rank .l div{display:flex;justify-content:space-between}
.ic-rank .l em{font-style:normal;color:var(--text-sub);font-size:12px}
.ic-bars{display:flex;align-items:flex-end;gap:3px;height:96px;padding:4px 0}
.ic-bars i{flex:1;background:var(--theme-color);border-radius:4px 4px 0 0;min-height:2px;opacity:.85}
.ic-acc{display:flex;align-items:center;gap:12px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:12px;margin-bottom:8px;cursor:pointer}
.ic-acc .l{flex:1}.ic-acc .l b{display:block;font-size:14px;color:var(--text-main)}.ic-acc .l span{font-size:12px;color:var(--text-sub)}
.ic-acc .a{font-weight:700;font-size:16px;color:var(--text-main)}
.ic-ta{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:12px;margin-top:12px;font-size:14px;line-height:1.7;color:var(--text-main);white-space:pre-wrap}

/* ---------- 同人文 ---------- */
.ff-sec{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:12px;margin-bottom:12px}
.ff-sec h4{margin:0 0 4px;font-size:14px;color:var(--text-main)}
.ff-sec p{margin:0 0 8px;font-size:12px;color:var(--text-sub);line-height:1.6}
.ff-sec .xa-chips{margin-bottom:4px}
.ff-sec input[type=text],.ff-sec textarea,.ff-sec select{width:100%;box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:12px;padding:9px 11px;font-size:14px;font-family:inherit;outline:none;margin-top:6px}
.ff-sec textarea{min-height:70px;resize:vertical}
.ff-pair{display:flex;gap:8px;align-items:center}
.ff-out{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:16px;font-size:15px;line-height:1.95;color:var(--text-main);white-space:pre-wrap;word-break:break-word}
.ff-out h3{margin:0 0 10px;text-align:center;font-size:18px}
.ff-lib{display:flex;align-items:center;gap:10px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:12px;margin-bottom:8px;cursor:pointer}
.ff-lib .l{flex:1;min-width:0}.ff-lib b{display:block;font-size:14px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-lib span{font-size:12px;color:var(--text-sub)}

/* 广场分类 */
.fm-cats{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.fm-cats::-webkit-scrollbar{display:none}
.fm-cats button{flex:none;border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}
.fm-cats button.on{background:var(--theme-color);color:var(--on-accent);border-color:transparent;font-weight:600}

/* ---- 聊天：引用 / 撤回 / 照片 ---- */
.quote-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:rgba(127,127,127,.12);border-top:.5px solid rgba(127,127,127,.2);font-size:12px}
.quote-bar.hidden{display:none}
.quote-bar .qb-body{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}
.quote-bar .qb-body b{margin-right:4px}
.quote-bar .qb-x{border:0;background:none;font-size:18px;line-height:1;opacity:.6;padding:2px 6px}
.quote-box{margin-top:3px;padding:4px 8px;border-radius:8px;background:rgba(127,127,127,.15);font-size:11.5px;opacity:.85;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quote-box b{font-weight:600}
.sys-msg.recalled a{color:var(--theme-dark,#5b7bd5);margin-left:4px;cursor:pointer;text-decoration:underline}
.bubble.gen-card{min-width:150px;max-width:210px;text-align:center;padding:14px 12px;color:#444}
.gen-card .gc-ic{font-size:20px;margin-bottom:6px}
.gen-card .gc-t{font-size:13px;line-height:1.5;word-break:break-all}
.gen-card .gc-s{font-size:10.5px;opacity:.6;margin-top:6px}
.bubble.gen-img{padding:4px;max-width:220px}
.gen-img img{width:100%;display:block;border-radius:10px;min-height:80px;background:rgba(127,127,127,.15)}
.gen-img .gen-cap{font-size:10.5px;opacity:.6;padding:3px 4px 1px}
.ff-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-color);border-top:1px solid var(--border-color);z-index:20}
.ff-bar:empty{display:none}
.ff-bar span{flex:1;font-size:12px;color:var(--text-sub)}
.ff-bar button{border:none;background:var(--theme-color);color:var(--on-accent);border-radius:999px;padding:10px 22px;font-size:14px;cursor:pointer}
.ff-bar button:disabled{opacity:.6}
#fanficApp .xa-body{padding-bottom:90px}

/* ---------- 倒数日：自定义美化 ---------- */
.cd-hero.sk-grad{background:linear-gradient(135deg,var(--c1),var(--c2))}
.cd-hero.sk-solid{background:var(--c1)}
.cd-hero.sk-soft{background:color-mix(in srgb,var(--c1) 16%,#fff);border:1px solid color-mix(in srgb,var(--c1) 35%,transparent);box-shadow:none}
.cd-hero.sk-line{background:transparent;border:2.5px solid var(--c1);box-shadow:none}
.cd-hero.sk-glass{background:linear-gradient(135deg,color-mix(in srgb,var(--c1) 55%,transparent),color-mix(in srgb,var(--c2) 30%,transparent));border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.cd-hero.sk-img:before,.cd-hero.sk-img:after{display:none}
.cd-hero.sk-line:before,.cd-hero.sk-line:after,.cd-hero.sk-soft:before,.cd-hero.sk-soft:after{background:color-mix(in srgb,var(--c1) 14%,transparent)}
.cd-emo{position:absolute;right:16px;top:12px;font-size:34px;line-height:1;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}
.cd-eico{margin-right:6px}
.cd-it.sk-soft,.cd-it.sk-grad,.cd-it.sk-solid,.cd-it.sk-glass{background:color-mix(in srgb,var(--c1) 9%,var(--card-bg))}
.cd-it.sk-line{background:transparent;border:1.5px solid var(--c1);border-left-width:5px}
.cd-it.sk-img{background-size:cover;background-position:center;color:#fff}
.cd-it.sk-img .tt,.cd-it.sk-img .r b{color:#fff}.cd-it.sk-img .sb,.cd-it.sk-img .r span{color:rgba(255,255,255,.85)}
.cd-prev{cursor:default;margin:6px 0 4px}
.cd-lab{font-size:12px;color:var(--text-sub);margin:10px 4px 4px}
.cd-chip{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 4px;align-items:center}
.cd-chip button{border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}
.cd-chip button.on{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.cd-emin{width:84px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:999px;padding:6px 10px;font-size:13px;outline:none}
.cd-pick{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-sub);cursor:pointer}
.cd-pick input{width:30px;height:30px;border:none;border-radius:50%;padding:0;background:none;cursor:pointer}
.cd-pick b{font-weight:500}

/* ---------- 同人文：顶部分页 / 生成记录 ---------- */
.ff-tabs{display:flex;background:var(--card-bg);border:1px solid var(--border-color);border-radius:999px;padding:3px;margin:0 0 12px}
.ff-tabs button{flex:1;border:none;background:transparent;color:var(--text-sub);border-radius:999px;padding:8px 0;font-size:13px;cursor:pointer}
.ff-tabs button.on{background:var(--theme-color);color:var(--on-accent);font-weight:600}
.ff-hint{font-size:12px;color:var(--text-sub);margin:0 4px 10px;line-height:1.6}
.ff-fav{font-style:normal;font-size:10px;background:var(--accent-soft);color:var(--theme-dark);border-radius:6px;padding:1px 5px;margin-left:6px;vertical-align:middle}
.ff-lib .l em{display:block;font-style:normal;font-size:12px;color:var(--text-sub);margin-top:5px;line-height:1.5;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- 一起学习 / 阅读 ---------- */
.study-icon{background:linear-gradient(145deg,#8fd3c0,#4fb59c)}
#desktop.ic-sweet .study-icon{--c1:#cdeee4;--c2:#8fd3c0}
.xa-sheet.tall{max-height:92%;min-height:40%}
.st-comp{display:flex;align-items:center;gap:10px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;padding:10px 12px;margin-bottom:10px;cursor:pointer}
.st-comp .avatar-small{flex:none}
.st-cl{flex:1;min-width:0}.st-cl b{font-size:13px;color:var(--text-main)}
.st-cl p{margin:2px 0 0;font-size:12px;color:var(--text-sub);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.st-cs{text-align:center;flex:none;min-width:44px}.st-cs b{display:block;font-size:20px;color:var(--theme-dark);line-height:1.1}.st-cs small{font-size:10px;color:var(--text-sub)}
.st-tabs{display:flex;background:var(--card-bg);border:1px solid var(--border-color);border-radius:999px;padding:3px;margin-bottom:12px}
.st-tabs button{flex:1;border:none;background:transparent;color:var(--text-sub);border-radius:999px;padding:8px 0;font-size:13px;cursor:pointer}
.st-tabs button.on{background:var(--theme-color);color:var(--on-accent);font-weight:600}
.st-sec h4{margin:10px 2px 4px;font-size:13px;color:var(--text-sub);font-weight:600}
.st-note{font-size:12px;color:var(--text-sub);line-height:1.6;margin:6px 4px}
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.st-act{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--border-color);background:var(--card-bg);border-radius:16px;padding:12px;cursor:pointer;color:var(--text-main)}
.st-act:active{transform:scale(.97)}.st-act i{font-style:normal;font-size:22px}.st-act b{font-size:14px;margin-top:4px}.st-act span{font-size:11px;color:var(--text-sub);line-height:1.4}
.st-back{display:flex;align-items:center;gap:8px;margin:0 0 10px}.st-back button{border:none;background:var(--card-bg);border:1px solid var(--border-color);color:var(--theme-dark);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;flex:none}
.st-back b{flex:1;font-size:15px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.st-back span{font-size:12px;color:var(--text-sub);flex:none}
.st-mini{padding:3px 10px!important;font-size:12px!important}
.st-kana{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:6px 0 10px}.st-kana.ko{grid-template-columns:repeat(4,1fr)}
.st-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--card-bg);border-radius:12px;padding:8px 0;cursor:pointer;color:var(--text-main);min-height:52px}
.st-cell:active{background:var(--accent-soft);transform:scale(.95)}.st-cell b{font-size:22px;font-weight:600;line-height:1.1}.st-cell small{font-size:10px;color:var(--text-sub);margin-top:2px}
.st-ipa{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}
.st-ipai{display:grid;grid-template-columns:64px 62px 1fr;align-items:center;gap:6px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:8px 10px;cursor:pointer}
.st-ipai b{font-size:18px;color:var(--theme-dark)}.st-ipai span{font-size:14px;color:var(--text-main)}.st-ipai small{font-size:11px;color:var(--text-sub);line-height:1.4}
.st-tip{background:var(--card-bg);border:1px solid var(--border-color);border-left:4px solid var(--theme-color);border-radius:12px;padding:10px 12px;margin:8px 0}
.st-tip b{font-size:13px;color:var(--text-main)}.st-tip p{margin:4px 0 0;font-size:12px;color:var(--text-sub);line-height:1.7}
.st-ph,.st-wc{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:12px;margin-bottom:10px}
.st-ph .top,.st-wc .top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.st-w{font-size:18px;color:var(--text-main);display:block}.st-r{display:block;font-size:12px;color:var(--text-sub);margin-top:2px;line-height:1.5}
.st-m{font-size:14px;color:var(--text-main);margin-top:6px}.st-m em{font-style:normal;font-size:11px;background:var(--accent-soft);color:var(--theme-dark);border-radius:6px;padding:1px 6px;margin-left:4px}
.st-n{font-size:12px;color:var(--text-sub);line-height:1.7;margin:6px 0 0}
.st-ex{background:color-mix(in srgb,var(--theme-color) 9%,transparent);border-radius:10px;padding:8px 10px;margin-top:8px;font-size:13px;color:var(--text-main);line-height:1.6}
.st-btns{display:flex;gap:4px;flex:none}.st-btns button,.st-ex button,.st-tab button{border:none;background:var(--accent-soft);border-radius:50%;width:30px;height:30px;font-size:14px;cursor:pointer;color:var(--theme-dark)}
.st-ex button,.st-tab button{width:26px;height:26px;font-size:12px}
.st-btns2{margin-top:8px}.st-btns2 button{border:1px dashed var(--theme-color);background:transparent;color:var(--theme-dark);border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer}
.st-tab{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:10px;margin-top:8px;font-size:14px;color:var(--text-main);line-height:1.6}
.st-score{margin-top:8px;font-size:12px;border-radius:10px;padding:6px 10px}.st-score.s3{background:#e3f6e8;color:#2d7a45}.st-score.s2{background:#fff3d6;color:#8a6a10}.st-score.s1{background:#fde6e6;color:#a33}
.st-lesson{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:14px;margin-bottom:10px}.st-lesson h3{margin:0 0 6px;font-size:17px;color:var(--text-main)}.st-lesson p{margin:0 0 6px;font-size:13px;color:var(--text-main);line-height:1.7}
.st-q{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:16px}.st-qq{font-size:22px;color:var(--text-main);font-weight:600;text-align:center;line-height:1.5}.st-qq button{border:none;background:var(--accent-soft);border-radius:50%;width:34px;height:34px;font-size:16px;cursor:pointer;vertical-align:middle}
.st-q .st-r{text-align:center}.st-q .st-note{text-align:center}
.st-opts{display:flex;flex-direction:column;gap:8px;margin-top:14px}.st-opts button{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:14px;padding:12px;font-size:15px;cursor:pointer;text-align:left;line-height:1.4}
.st-opts button.ok{background:#e3f6e8;border-color:#7fcf99;color:#245c37}.st-opts button.no{background:#fde6e6;border-color:#eea0a0;color:#8a2a2a}.st-opts button.dim{opacity:.5}
.st-fb{margin-top:12px;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.6}.st-fb.ok{background:#e3f6e8;color:#245c37}.st-fb.no{background:#fde6e6;color:#8a2a2a}.st-fb small{font-size:12px;opacity:.9}
.st-result{text-align:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;padding:20px;margin:6px 0 10px;color:var(--text-main)}.st-result .big{font-size:44px;font-weight:800;color:var(--theme-dark)}
.st-ta{display:flex;gap:8px;align-items:flex-start;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:10px;margin:8px 0}.st-ta b{font-size:12px;color:var(--theme-dark)}.st-ta p{margin:2px 0 0;font-size:13px;color:var(--text-main);line-height:1.6}.st-ta.sm{padding:7px 9px;margin:4px 0 8px;background:color-mix(in srgb,var(--theme-color) 10%,var(--card-bg))}
.st-chat{background:color-mix(in srgb,var(--card-bg) 70%,transparent);border:1px solid var(--border-color);border-radius:16px;padding:10px;height:290px;overflow-y:auto;margin-bottom:8px}
.st-msg{display:flex;gap:6px;margin:8px 0}.st-msg.me{justify-content:flex-end}.st-msg.me p{margin:0;background:var(--theme-color);color:var(--on-accent);border-radius:14px 14px 4px 14px;padding:8px 12px;font-size:14px;max-width:78%;line-height:1.5}
.st-msg .avatar-small{flex:none}.st-msg .bb{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px 14px 14px 4px;padding:8px 12px;max-width:80%}
.st-msg .tx{font-size:15px;color:var(--text-main);line-height:1.5}.st-msg .tx button{border:none;background:var(--accent-soft);border-radius:50%;width:22px;height:22px;font-size:11px;cursor:pointer;vertical-align:middle}
.st-m2{font-size:12px;color:var(--text-sub);margin-top:4px;line-height:1.5}.st-fix{margin-top:6px;font-size:12px;line-height:1.6;color:#8a5a10;background:#fff3d6;border-radius:8px;padding:5px 8px}.st-tipl{margin-top:5px;font-size:11px;color:var(--text-sub)}
.st-quick{display:flex;gap:6px;margin-bottom:8px;overflow-x:auto}.st-quick button{flex:none;border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer}
.st-inp{display:flex;gap:6px;align-items:center}.st-inp input{flex:1;min-width:0;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:999px;padding:10px 14px;font-size:14px;outline:none}.st-inp button{border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:9px 14px;font-size:14px;cursor:pointer;flex:none}.st-inp button.pri{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.st-focus{text-align:center;padding:10px 0}.st-clock{font-size:64px;font-weight:200;color:var(--theme-dark);font-variant-numeric:tabular-nums;letter-spacing:2px;margin:10px 0}.st-focus .xa-chips{justify-content:center}.st-focus .st-ta{text-align:left}
.st-stat{display:flex;gap:10px;margin:6px 2px 10px;font-size:13px;color:var(--text-sub);flex-wrap:wrap}.st-stat b{color:var(--theme-dark);font-size:15px}
.st-stat.big{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:12px 6px;justify-content:space-around}.st-stat.big span{text-align:center}.st-stat.big b{display:block;font-size:24px}.st-stat.big small{font-size:11px}
.st-goal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:12px;margin-bottom:6px}.st-goalh{display:flex;justify-content:space-between;font-size:13px;color:var(--text-main);margin-bottom:8px}.st-goalh span{color:var(--text-sub)}
.st-heat{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:10px}.st-heat i{aspect-ratio:1;border-radius:6px;background:color-mix(in srgb,var(--text-sub) 14%,transparent)}
.st-heat i.lv1{background:color-mix(in srgb,var(--theme-color) 30%,transparent)}.st-heat i.lv2{background:color-mix(in srgb,var(--theme-color) 55%,transparent)}.st-heat i.lv3{background:color-mix(in srgb,var(--theme-color) 80%,transparent)}.st-heat i.lv4{background:var(--theme-color)}.st-heat i.td{outline:2px solid var(--theme-dark);outline-offset:1px}
.st-quote{font-size:13px;color:var(--text-sub);line-height:1.7;border-left:3px solid var(--theme-color);padding-left:10px;margin:0 0 12px}
.st-ta-in{width:100%;min-height:160px;box-sizing:border-box;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:14px;padding:10px 12px;font-size:14px;line-height:1.6;outline:none;resize:vertical;font-family:inherit}
.rd-tools{display:flex;gap:6px;overflow-x:auto;margin-bottom:10px;padding-bottom:2px}.rd-tools button{flex:none;border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer}.rd-tools button.on{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.rd-page{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:14px 14px 8px;line-height:1.95;color:var(--text-main);user-select:text;-webkit-user-select:text}
.rd-p{margin:0 0 10px;text-indent:2em;word-break:break-word;border-radius:6px;transition:background .15s}.rd-p:active{background:var(--accent-soft)}.rd-p.hl{background:linear-gradient(transparent 55%,color-mix(in srgb,#ffd84d 70%,transparent) 55%)}
.rd-note{font-size:12px;color:var(--text-sub);background:color-mix(in srgb,var(--theme-color) 9%,transparent);border-radius:8px;padding:5px 9px;margin:-4px 0 10px;line-height:1.6}.rd-cm .st-ta p{font-size:12px}
.rd-nav{display:flex;align-items:center;gap:10px;margin-top:12px}.rd-nav button{border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:9px 16px;font-size:13px;cursor:pointer;flex:none}.rd-nav button.pri{background:var(--theme-color);color:var(--on-accent);border-color:transparent}.rd-nav button:disabled{opacity:.4}
.rd-bar{flex:1;height:6px;border-radius:3px;background:color-mix(in srgb,var(--text-sub) 18%,transparent);overflow:hidden}.rd-bar i{display:block;height:100%;background:var(--theme-color);border-radius:3px}

/* ---------- 照片堆叠小组件 ---------- */
#desktop .hw.hw-stack{padding:0!important;background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;min-height:0!important;position:relative;display:block;overflow:hidden;border-radius:20px;color:#222;aspect-ratio:1/1}
#desktop .hw.hw-stack.wide{aspect-ratio:2/1}
.hw-stack .sk-bg{position:absolute;inset:0;border-radius:20px}
.hw-stack .bgk-glass{background:linear-gradient(145deg,rgba(255,255,255,.38),rgba(255,255,255,.12));border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hw-stack .bgk-dots{background:#fbfbfb radial-gradient(circle,#cfcfcf 1.1px,transparent 1.4px) 0 0/10px 10px}
.hw-stack .bgk-grid{background:#fffdf8;background-image:linear-gradient(#e4dccb 1px,transparent 1px),linear-gradient(90deg,#e4dccb 1px,transparent 1px);background-size:14px 14px}
.hw-stack .bgk-lines{background:#fffdf8;background-image:linear-gradient(#e7b7c4 1px,transparent 1px);background-size:100% 16px;background-position:0 8px}
.hw-stack .bgk-kraft{background:#d8bf9a;background-image:radial-gradient(rgba(120,80,40,.18) 1px,transparent 1.2px);background-size:5px 5px}
.hw-stack .bgk-image{background-size:cover;background-position:center}
.hw-stack .sk-photos{position:absolute;inset:0}
.hw-stack .sk-ph{position:absolute;left:50%;top:50%;width:60%;aspect-ratio:.82;margin:0;transform:translate(calc(-50% + var(--x,0%)),calc(-50% + var(--y,0%))) rotate(var(--r,0deg));transition:transform .25s ease,opacity .25s ease;box-shadow:0 5px 12px rgba(0,0,0,.28);box-sizing:border-box;background:#fff}
#desktop .hw.hw-stack.wide .sk-ph{width:34%}
.hw-stack .sk-ph.fly{transform:translate(calc(-50% + 120%),calc(-50% - 10%)) rotate(24deg);opacity:0}
.hw-stack .sk-im{position:absolute;left:7%;right:7%;top:6%;bottom:22%;overflow:hidden;background:#ddd}
.hw-stack .sk-im img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.hw-stack .f-black{background:#141414}.hw-stack .f-black .sk-im{background:#333}
.hw-stack .f-stamp{background:transparent;box-shadow:none;aspect-ratio:.82;filter:drop-shadow(0 3px 5px rgba(0,0,0,.3))}
.hw-stack .f-stamp:before{content:'';position:absolute;inset:0;background:#fff;-webkit-mask:radial-gradient(circle 3.5px at 4px 4px,#0000 96%,#000) -4px -4px/8px 8px,linear-gradient(#000 0 0) 5px 5px/calc(100% - 10px) calc(100% - 10px) no-repeat;mask:radial-gradient(circle 3.5px at 4px 4px,#0000 96%,#000) -4px -4px/8px 8px,linear-gradient(#000 0 0) 5px 5px/calc(100% - 10px) calc(100% - 10px) no-repeat}
.hw-stack .f-stamp .sk-im{left:11%;right:11%;top:9%;bottom:9%}
.hw-stack .f-film{background:#1b1b1b;border-radius:3px}
.hw-stack .f-film:before,.hw-stack .f-film:after{content:'';position:absolute;left:4%;right:4%;height:6%;background:repeating-linear-gradient(90deg,#f4f4f4 0 4px,transparent 4px 9px);border-radius:1px}
.hw-stack .f-film:before{top:4%}.hw-stack .f-film:after{bottom:4%}
.hw-stack .f-film .sk-im{left:5%;right:5%;top:14%;bottom:14%}
.hw-stack .f-round{border-radius:16px}.hw-stack .f-round .sk-im{left:5%;right:5%;top:4%;bottom:4%;border-radius:12px}
.hw-stack .f-plain{background:transparent;border-radius:10px}.hw-stack .f-plain .sk-im{inset:0;border-radius:10px}
.hw-stack .sk-tape{position:absolute;top:-6%;left:50%;width:36%;height:11%;transform:translateX(-50%) rotate(-4deg);background:repeating-linear-gradient(45deg,rgba(255,176,205,.9) 0 5px,rgba(255,255,255,.75) 5px 10px);opacity:.95;box-shadow:0 1px 2px rgba(0,0,0,.15);z-index:3}
.hw-stack .sk-tape.dot{background:#fff radial-gradient(circle,#111 1.6px,transparent 2px) 0 0/7px 7px}
.hw-stack .sk-cap{font-family:"Segoe Script","Bradley Hand","Kaiti SC","KaiTi",cursive;text-align:center;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-stack .sk-cap.in{position:absolute;left:6%;right:6%;bottom:4.5%;font-size:11px;line-height:1.2}
.hw-stack .f-black .sk-cap.in{color:#f5f5f5}
.hw-stack .sk-cap.out{position:absolute;left:10%;right:10%;bottom:4%;z-index:40;font-size:11px;background:rgba(255,255,255,.82);border-radius:999px;padding:2px 8px;width:max-content;max-width:80%;margin:0 auto}
.hw-stack .sk-decos{position:absolute;inset:0;pointer-events:none;z-index:30}
.hw-stack .sk-d{position:absolute;display:block;width:17%}.hw-stack .sk-d svg{display:block;width:100%;height:auto}
.hw-stack .sk-d.star{left:4%;top:5%;transform:rotate(-12deg)}.hw-stack .sk-d.button{right:5%;top:4%;width:15%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.3))}.hw-stack .sk-d.note{left:5%;bottom:6%;width:15%}.hw-stack .sk-d.heart{right:6%;bottom:7%;width:14%;transform:rotate(10deg)}
.hw-stack .sk-full{position:absolute;inset:0}.hw-stack .sk-full img{display:block;width:100%;height:100%;object-fit:cover}
.hw-stack .sk-fr{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:20}
.hw-stack .sk-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-sub,#888);font-size:11px;text-align:center;line-height:1.5;border:2px dashed rgba(150,150,150,.5);border-radius:20px;box-sizing:border-box;background:rgba(255,255,255,.35)}.hw-stack .sk-empty b{font-size:26px}
.hw-stack .sk-edit{position:absolute;right:6px;bottom:6px;width:24px;height:24px;border-radius:50%;border:none;background:rgba(0,0,0,.28);color:#fff;font-size:12px;line-height:24px;padding:0;cursor:pointer;z-index:60;opacity:.55}
#desktop.editing .hw-stack .sk-edit{display:none}
.hw-stack.ps-nopt .sk-edit{display:none}
.ps-sheet{padding-bottom:20px}.ps-prevwrap{display:flex;justify-content:center;margin:2px 0 8px}
.ps-prev.sq{width:190px}.ps-prev.wide{width:290px}
.ps-prev .hw{width:100%}
.ps-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 6px}
.ps-th{position:relative;width:58px;height:58px;border-radius:10px;overflow:hidden;border:2px solid transparent;cursor:pointer}.ps-th.top{border-color:var(--theme-color)}.ps-th img{width:100%;height:100%;object-fit:cover;display:block}
.ps-th button{position:absolute;right:2px;top:2px;width:18px;height:18px;border-radius:50%;border:none;background:rgba(0,0,0,.55);color:#fff;font-size:12px;line-height:16px;padding:0;cursor:pointer}
.ps-add{width:58px;height:58px;border-radius:10px;border:2px dashed var(--border-color);background:var(--card-bg);color:var(--theme-dark);font-size:24px;cursor:pointer}

/* ---- 日程提醒：底部页签 / 汇总 / 列表筛选 ---- */
#agendaApp .ag-body{padding-bottom:150px}
#agendaApp .ag-fab{bottom:74px}
.ag-tabs{position:absolute;left:0;right:0;bottom:0;display:flex;background:var(--card-bg);border-top:1px solid var(--border-color);padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));z-index:5}
.ag-tabs button{flex:1;border:none;background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text-sub);font-size:11px;padding:4px 0;position:relative;cursor:pointer}
.ag-tabs button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ag-tabs button.on{color:var(--theme-dark,var(--theme-color));font-weight:700}
.ag-tabs button i{position:absolute;top:0;left:calc(50% + 7px);background:#ff5d73;color:#fff;font-style:normal;font-size:10px;min-width:16px;height:16px;line-height:16px;border-radius:8px;text-align:center;padding:0 4px}
.ag-sum{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.ag-sum div{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:10px 4px;text-align:center}
.ag-sum b{display:block;font-size:22px;color:var(--text-main)}
.ag-sum span{font-size:11px;color:var(--text-sub)}
.ag-sum .od b{color:#e0556b}
.ag-into{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-sub);margin:-4px 2px 10px;flex-wrap:wrap}
.ag-into select{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:999px;padding:4px 10px;font-size:12px}
.ag-tag{background:var(--border-color);border-radius:999px;padding:3px 9px}
.ag-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}
.ag-chips::-webkit-scrollbar{display:none}
.ag-chips button{flex:none;display:flex;align-items:center;gap:6px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}
.ag-chips button i{width:9px;height:9px;border-radius:50%}
.ag-chips button.on{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.ag-chips button.add{border-style:dashed;color:var(--text-sub)}
.ag-lh{display:flex;justify-content:space-between;align-items:center}
.ag-lh em{font-style:normal;font-weight:400;font-size:12px;color:var(--text-sub);cursor:pointer}
.ag-ltag{display:inline-block;border-radius:6px;padding:0 6px;font-size:11px;margin-right:2px}
.ag-more{text-align:center;font-size:13px;color:var(--theme-dark,var(--theme-color));padding:8px;cursor:pointer}
.ag-note{font-size:12px;color:var(--text-sub);margin:0 4px 8px}

/* 发送方式：让TA回复按钮（浮在输入框上方，不挤输入栏） */
#chatRoomApp .input-area{position:relative}
#replyNowBtn{position:absolute;right:14px;top:-40px;z-index:6;border-radius:999px;padding:0 14px;height:32px;background:var(--card-bg);color:var(--theme-dark,var(--theme-color));border:1px solid var(--theme-color);font-size:13px;cursor:pointer;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.12)}
#replyNowBtn.hidden{display:none}

/* ---- 手绘小装饰 / 气泡装饰（弹层放在手机屏幕里面，跟随主题） ---- */
.dd-mask{position:absolute;inset:0;z-index:890;background:rgba(20,16,24,.5);display:flex;align-items:flex-end;justify-content:center;animation:xaIn .18s ease}
.dd-sheet{width:100%;max-height:88%;overflow-y:auto;overflow-x:hidden;background:var(--bg-color,var(--card-bg));color:var(--text-main);border-radius:22px 22px 0 0;padding:16px 16px calc(18px + env(safe-area-inset-bottom,0px));animation:xaUp .22s ease;box-sizing:border-box;-webkit-overflow-scrolling:touch}
.dd-sheet *{box-sizing:border-box}
.dd-sheet button{font-family:inherit}
.dd-h{margin:0 0 12px;font-size:17px;text-align:center;color:var(--text-main)}
.dd-tabs{display:flex;gap:8px;margin-bottom:12px}
.dd-tabs button,.dd-chips button,.dd-chip{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:999px;padding:7px 14px;font-size:13px;cursor:pointer;line-height:1.2}
.dd-tabs button{flex:1}
.dd-tabs button.on,.dd-chips button.on,.dd-chip.on{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.dd-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;max-height:36vh;overflow-y:auto;padding:2px}
.dd-it{position:relative;aspect-ratio:1/1;width:100%;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);padding:7px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dd-it img{max-width:100%;max-height:100%;display:block}
.dd-it i{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:#e0556b;color:#fff;font-style:normal;font-size:13px;line-height:18px;text-align:center}
.dd-empty{grid-column:1/-1;font-size:12px;color:var(--text-sub);line-height:1.6;margin:6px 0}
.dd-row{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:14px;color:var(--text-main);flex-wrap:wrap}
.dd-row>span{flex:none}
.dd-row input[type=range]{flex:1;min-width:90px}
.dd-row input[type=color],.dd-cols input[type=color]{width:34px;height:30px;border:1px solid var(--border-color);border-radius:8px;padding:0;background:none}
.dd-btns{display:flex;gap:8px;margin-top:14px}
.dd-btns button{flex:1;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:999px;padding:11px 0;font-size:14px;cursor:pointer}
.dd-btns button.pri{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.dd-cv{background:repeating-conic-gradient(#e9e9e9 0 25%,#fff 0 50%) 0 0/16px 16px;border:1px solid var(--border-color);border-radius:14px;overflow:hidden;width:min(100%,300px);aspect-ratio:1/1;margin:0 auto}
.dd-cv canvas{width:100%;height:100%;display:block}
.dd-cols{display:flex;gap:8px;align-items:center;justify-content:center;margin:12px 0;flex-wrap:wrap}
.dd-cols i{width:24px;height:24px;border-radius:50%;border:2px solid var(--border-color);cursor:pointer}
.dd-cols i.on{outline:2px solid var(--theme-color);outline-offset:2px}
.dd-tip{font-size:12px;color:var(--text-sub);text-align:center;margin:4px 0}
.dd-prev{background:rgba(128,128,128,.12);border-radius:14px;padding:16px 20px;margin-bottom:12px;display:flex;flex-direction:column;gap:18px;overflow:hidden}
.dd-prev .message{display:flex;margin:0}.dd-prev .user-message{justify-content:flex-end}
.dd-lab{font-size:13px;color:var(--text-sub);margin:14px 0 8px;font-weight:600}
.dd-chips{display:flex;gap:8px;flex-wrap:wrap}
.dd-slot{display:flex;align-items:center;gap:10px;margin:8px 0;flex-wrap:wrap}
.dd-thumb{width:56px;height:56px;flex:none;border:1.5px dashed var(--border-color);border-radius:14px;background:var(--card-bg);font-size:22px;color:var(--text-sub);cursor:pointer;padding:4px}
.dd-thumb img{width:100%;height:100%;object-fit:contain}
.dd-sl{display:flex;flex-direction:column;gap:6px;flex:1;min-width:130px;font-size:12px;color:var(--text-sub)}
.dd-sl label{display:flex;gap:6px;align-items:center}.dd-sl input{flex:1;min-width:0}
.dd-sl select,.dd-row select{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:8px;padding:5px 8px;font-size:13px}
.dd-x{border:none;background:transparent;color:#e0556b;font-size:12px;cursor:pointer}

/* 照片堆叠：自己的装饰层 + 背景形状 */
.hw-stack .sk-stk{position:absolute;inset:0;z-index:40;pointer-events:none}
.hw-stack .sk-stk img{position:absolute;height:auto;display:block}
.ps-prev .sk-stk img{pointer-events:auto;cursor:grab;touch-action:none}
.ps-add{width:58px;height:58px;border:1.5px dashed var(--border-color);border-radius:12px;background:transparent;font-size:22px;color:var(--text-sub);cursor:pointer}
.ps-shapes{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:4px 0 6px}
.ps-shapes button{aspect-ratio:1/1;border:1px solid var(--border-color);border-radius:12px;background:var(--card-bg);padding:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;color:var(--text-sub)}
.ps-shapes button i{display:block;width:70%;aspect-ratio:1/1;background:var(--text-sub);opacity:.75}
.ps-shapes button.on{border-color:var(--theme-color);outline:2px solid var(--theme-color);outline-offset:-1px;color:var(--text-main)}
.ps-shapes button.on i{background:var(--theme-color);opacity:1}
.hw-stack .sk-bg.shaped{border-radius:0!important;border:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.hw-stack .sk-bgwrap{position:absolute;inset:0;pointer-events:none}

/* iCost 一起管理 */
.ic-sh{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:12px;margin:10px 0}
.ic-sh-hd{display:flex;gap:10px;align-items:center}
.ic-sh-hd .avatar-small{width:36px;height:36px;flex:none}
.ic-sh-hd b{display:block;font-size:14px;color:var(--text-main)}
.ic-sh-hd small{color:var(--text-sub);font-size:12px}
.ic-aa{margin-top:10px;font-size:13px;color:var(--text-main);display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--accent-soft,rgba(128,128,128,.1));border-radius:10px;padding:8px 10px}
.ic-aa b{color:var(--theme-dark,var(--theme-color))}
.ic-aa button,.ic-goal-btns button,.ic-sh-btns button{border:1px solid var(--theme-color);background:transparent;color:var(--theme-dark,var(--theme-color));border-radius:999px;padding:5px 12px;font-size:12px;cursor:pointer}
.ic-aa button{margin-left:auto}
.ic-goal{margin-top:10px}
.ic-goal>div:first-child{display:flex;justify-content:space-between;font-size:13px;color:var(--text-main)}
.ic-goal span{color:var(--text-sub)}
.ic-goal .bar{height:8px;border-radius:999px;background:var(--accent-soft,rgba(128,128,128,.15));margin:6px 0;overflow:hidden}
.ic-goal .bar i{display:block;height:100%;background:var(--theme-color);border-radius:inherit}
.ic-goal-btns,.ic-sh-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.ic-by{font-style:normal;font-size:10px;background:var(--theme-color);color:var(--on-accent);border-radius:6px;padding:1px 5px;vertical-align:1px}
.ic-by.ta{background:#8a7be0;color:#fff}.ic-by.aa{background:#f6c344;color:#5a4300}
.ic-cm{display:block;font-size:11px;color:var(--theme-dark,var(--text-sub));margin-top:2px}

/* 倒数日：贴纸颜色选择、图片卡文字可读性 */
.cd-colors .cd-auto{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:30px;padding:0 8px;border-radius:15px;border:1.5px solid var(--border-color);font-size:12px;font-weight:500;color:var(--text-sub);cursor:pointer;box-sizing:border-box}
.cd-colors .cd-auto.on{border-color:var(--theme-dark);color:var(--text-main)}
.cd-hero.sk-img .tt,.cd-hero.sk-img .num,.cd-hero.sk-img .dt{text-shadow:0 1px 6px rgba(0,0,0,.55)}
.cd-hero.sk-img{min-height:128px}

/* ===== 相册 ===== */
.al-tabs{display:flex;gap:8px;margin:2px 0 12px}
.al-tabs button{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer}
.al-tabs button.on{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.al-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.al-card{cursor:pointer;min-width:0}.al-card:active{transform:scale(.97)}
.al-cover{position:relative;aspect-ratio:1/1;border-radius:18px;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--border-color)}
.al-ph{font-size:34px;color:rgba(45,35,50,.5)}
.al-av{position:absolute;right:8px;bottom:8px;width:28px;height:28px;border-radius:50%;overflow:hidden;border:2px solid var(--card-bg);display:flex;align-items:center;justify-content:center;background:var(--card-bg);font-size:12px}
.al-av img{width:100%;height:100%;object-fit:cover}
.al-nm{margin-top:7px;font-size:14px;font-weight:600;color:var(--text-main);word-break:break-all}
.al-sub{font-size:11px;color:var(--text-sub);margin-top:2px}
.al-who{display:flex;align-items:center;gap:8px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:10px 12px;margin-bottom:10px;font-size:12px;color:var(--text-sub)}
.al-who .avatar-small{width:34px;height:34px;flex:none}.al-who i{font-style:normal;color:var(--theme-dark)}.al-who b{color:var(--text-main)}
.al-ops{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.al-ops button,.al-selbar button{border:1px solid var(--border-color);background:var(--card-bg);color:var(--theme-dark);border-radius:999px;padding:8px 14px;font-size:13px;cursor:pointer}
.al-ops button:disabled,.al-selbar button:disabled{opacity:.5}
.al-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.al-p{position:relative;aspect-ratio:1/1;background-size:cover;background-position:center;border-radius:10px;cursor:pointer;background-color:var(--card-bg)}
.al-p.sel{outline:3px solid var(--theme-color);outline-offset:-3px}
.al-by{position:absolute;left:4px;bottom:4px;font-size:10px;line-height:1;background:rgba(0,0,0,.55);color:#fff;border-radius:8px;padding:3px 6px}
.al-cm{position:absolute;right:4px;top:4px;font-size:10px;line-height:1;background:var(--theme-color);color:var(--on-accent);border-radius:8px;padding:3px 6px}
.al-ck{position:absolute;right:5px;top:5px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.35);border:2px solid #fff;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.al-p.sel .al-ck{background:var(--theme-color);color:var(--on-accent)}
.al-selbar{position:sticky;bottom:0;display:flex;gap:10px;justify-content:center;padding:12px 0 0;margin-top:12px;background:linear-gradient(transparent,var(--bg-color) 40%)}
.al-selbar .dan{color:#d9534f}
.al-kind{margin:10px 0}
.al-viewer{position:absolute;inset:0;z-index:70;background:#0c0c0e;color:#fff;display:flex;flex-direction:column}
.al-vt{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 12px) 14px 8px;font-size:13px;color:rgba(255,255,255,.8)}
.al-vt button{border:none;background:rgba(255,255,255,.14);color:#fff;border-radius:50%;width:34px;height:34px;font-size:15px;cursor:pointer}
.al-vi{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}
.al-vi img{max-width:100%;max-height:100%;object-fit:contain}
.al-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:56px;border:none;background:rgba(255,255,255,.12);color:#fff;font-size:26px;cursor:pointer;border-radius:12px}
.al-nav.l{left:6px}.al-nav.r{right:6px}.al-nav:disabled{opacity:.25}
.al-vb{max-height:42%;overflow-y:auto;padding:12px 16px calc(env(safe-area-inset-bottom,0px) + 16px);background:rgba(255,255,255,.06)}
.al-vm{font-size:11px;color:rgba(255,255,255,.6)}
.al-vc{font-size:15px;margin-top:6px;color:#fff}.al-vd{font-size:12px;margin-top:4px;color:rgba(255,255,255,.65);line-height:1.6}
.al-c{font-size:13px;margin-top:8px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;line-height:1.6}.al-c b{margin-right:6px;color:#ffd6e0}
.al-vbtn{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.al-vbtn button{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:999px;padding:7px 13px;font-size:12px;cursor:pointer}
.al-vbtn button.dan{color:#ff8f8f;border-color:rgba(255,143,143,.5)}.al-vbtn button:disabled{opacity:.5}

/* 一起学习：选搭档 */
.st-swap{font-style:normal;font-size:11px;font-weight:500;margin-left:6px;padding:2px 8px;border-radius:999px;border:1px solid var(--border-color);color:var(--theme-dark);background:var(--card-bg);cursor:pointer;white-space:nowrap}
.st-pl{display:flex;flex-direction:column;gap:8px}
.st-po{display:flex;align-items:center;gap:12px;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:16px;padding:10px 12px;cursor:pointer;color:var(--text-main)}
.st-po.on{border-color:var(--theme-color);background:color-mix(in srgb,var(--theme-color) 14%,var(--card-bg))}
.st-po .avatar-small{width:40px;height:40px;flex:none}
.st-po b{display:block;font-size:14px}.st-po small{display:block;font-size:11px;color:var(--text-sub);margin-top:2px}

/* 聊天顶栏：窄屏也不被挤出去 */
#chatRoomApp .app-header{gap:4px;padding-left:8px;padding-right:8px}
#chatRoomApp .app-header>span:nth-child(2){flex:1 1 auto;min-width:0;justify-content:center;overflow:hidden}
#chatRoomApp .app-header>span:nth-child(2) #chatTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:6.5em}
#chatRoomApp .app-header>span:last-child{flex:none;display:flex;gap:4px;align-items:center;overflow:visible}
#chatRoomApp .app-header>button,#chatRoomApp .app-header .hdr-btn{padding:5px 9px;font-size:12px;white-space:nowrap}

/* 世界书词条列表：长名字/长文本不再和「启用·改·×」叠在一起；字色跟随主题 */
#wbEntries .note-item{flex-wrap:wrap}
#wbEntries .note-main{flex:1 1 55%;min-width:0}
#wbEntries .note-fact,#wbEntries .note-remark,#wbEntries .feed-meta{word-break:break-all;overflow-wrap:anywhere}
#wbEntries .note-fact{color:var(--text-main)}
#wbEntries .note-remark{color:var(--text-sub);line-height:1.5}
#wbEntries .wb-ops{margin-left:auto}
.note-remark{color:var(--theme-dark);opacity:.78}
.al-vt{padding-top:46px !important}

/* ===== v2.7 对比度补丁 ===== */
.merchant-price,.product-price,.product-price-symbol{color:var(--accent-text)}
#bkLast{color:color-mix(in srgb,var(--danger) 70%,var(--theme-dark))}
#storageInfo{color:var(--theme-dark);opacity:.8}
.al-ph{color:rgba(45,35,50,.78)}
.nest-title i{color:color-mix(in srgb,var(--theme-dark) 65%,transparent)}
#chatRoomApp .input-area #sendBtn{color:var(--my-bubble-text);text-shadow:none}
.nest-type:not(.on) i{color:#6b5560}
.nest-type:not(.on){background:#fff}
.nest-type.on i{color:var(--theme-dark)}

/* ===== v2.7 预览吸顶：设置往下滑时示例一直在 ===== */
#themeApp .preview-chat{position:sticky;top:-15px;z-index:30;padding:8px 10px;gap:6px;margin:0 0 12px;border:1px solid var(--border-color);box-shadow:0 8px 18px -6px rgba(0,0,0,.28)}
#themeApp .preview-chat .message{margin:0}
#themeApp .preview-chat .avatar-small{transform:scale(.85)}
.xa-sheet #cePrev,.xa-sheet .ps-prevwrap,.dd-sheet .dd-prev{position:sticky;top:-16px;z-index:30;box-shadow:0 8px 16px -8px rgba(0,0,0,.35)}
.xa-sheet .ps-prevwrap{background:var(--bg-color);padding:6px 0;margin:0 0 8px;border-bottom:1px solid var(--border-color)}
.dd-sheet .dd-prev{background:color-mix(in srgb,var(--bg-color) 88%,gray)}
.hc-prev{position:sticky;top:0;z-index:30}
.cd-hero.cd-prev{max-height:170px}

/* ===== 气泡工坊 2.0 ===== */
.dd-prev .bubble{position:relative}
.dd-hd{position:absolute;z-index:6;border:1.5px dashed color-mix(in srgb,var(--theme-color) 80%,#666);border-radius:8px;cursor:grab;touch-action:none;background:rgba(255,255,255,.12)}
.dd-hd.on{border-style:solid;box-shadow:0 0 0 2px rgba(255,255,255,.7),0 0 0 4px var(--theme-color)}
.dd-strip{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 4px}
.dd-strip .dd-thumb.on{border:2px solid var(--theme-color)}
.dd-strip .dd-thumb.add{font-size:24px}
.dd-anch{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:4px 0 6px}
.dd-anch button{border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);border-radius:10px;padding:7px 0;font-size:12.5px;cursor:pointer}
.dd-val{flex:none;min-width:44px;text-align:right;font-size:12.5px;font-weight:500;color:var(--text-sub)}
.dd-row>span{font-size:13.5px}
.dd-chips{max-width:100%}
.dd-sheet{max-height:90%}

/* ===== 我的主题 ===== */
.mt-card{display:flex;gap:12px;align-items:flex-start;background:var(--card-bg);border:1.5px solid var(--border-color);border-radius:16px;padding:10px;margin-bottom:10px}
.mt-card.on{border-color:var(--theme-color)}
.mt-sw{position:relative;flex:none;width:64px;height:100px;border-radius:12px;overflow:hidden;border:1px solid rgba(128,128,128,.25)}
.mt-sw i{position:absolute;right:6px;top:22px;width:34px;height:12px;border-radius:7px}
.mt-sw i.ai{right:auto;left:6px;top:42px}
.mt-sw b{position:absolute;left:8px;right:8px;bottom:8px;height:8px;border-radius:4px;opacity:.9}
.mt-info{flex:1;min-width:0}
.mt-info>b{display:block;font-size:15px;color:var(--text-main);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mt-info em{font-style:normal;font-size:11px;margin-left:6px;padding:1px 7px;border-radius:99px;background:var(--theme-color);color:var(--on-accent);vertical-align:middle}
.mt-info small{display:block;font-size:11.5px;color:var(--text-sub);margin:2px 0 8px}
.mt-ops{display:flex;flex-wrap:wrap;gap:6px}
.mt-ops button{border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-main);border-radius:999px;padding:5px 11px;font-size:12px;cursor:pointer}
.mt-ops button.pri{background:var(--theme-color);color:var(--on-accent);border-color:transparent}
.mt-ops button.del{color:#d9475d}
