/* 场景线播放器 · 视觉规范:春碧天蓝(spring-sky,见 _共用/palette.py)· 霞鹜文楷 + SimHei 拼音
   语义:accent=天蓝(主色) / accent2=靛紫(次要·选中·"不对") / success=绿(只用于答对) / celebrate=朱砂(印章·成就) */
@font-face{font-family:"LXGW WenKai";src:url("/lxgw.woff2") format("woff2");font-display:swap}
:root{
  --paper:#F6FAF4; --card:#FFFFFF; --ink:#16241E; --ink2:#46564E; --mute:#637268; --rule:#E2EBE6;
  --accent:#117AA9; --accentSoft:#DDEEF7; --accent2:#6B47EE; --accent2Soft:#EDE7FE; --success:#0D7B45; --successSoft:#DDF5E7; --celebrate:#D23A26; --celebrateSoft:#FCE7E2;
  --onAccent:#fff; --onAccent2:#fff; --onSuccess:#fff; --onCelebrate:#fff;
  --jade:var(--accent); --jade-soft:var(--accentSoft);
  --seal:var(--celebrate); --seal-soft:var(--celebrateSoft);
  --gold:var(--accent2); --gold-soft:var(--accent2Soft);
  --hanzi:"LXGW WenKai","Kaiti SC","KaiTi","STKaiti","Noto Serif SC",serif;
  --ui:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --py:"SimHei","黑体","Heiti SC","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
}
.py{font-family:var(--py)}
@media (prefers-color-scheme: dark){
  :root{
    --paper:#0F1518; --card:#172026; --ink:#EAF3EC; --ink2:#AEBDB4; --mute:#798A80; --rule:#26313A;
    --accent:#4EC3F0; --accentSoft:#122630; --accent2:#A78BFF; --accent2Soft:#2C2440; --success:#3FD98A; --successSoft:#12301F; --celebrate:#FF6B57; --celebrateSoft:#33201C;
    --onAccent:#0F1518; --onAccent2:#0F1518; --onSuccess:#0F1518; --onCelebrate:#0F1518;
    --jade:var(--accent); --jade-soft:var(--accentSoft);
    --seal:var(--celebrate); --seal-soft:var(--celebrateSoft);
    --gold:var(--accent2); --gold-soft:var(--accent2Soft);
  }
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{font-size:16px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--ui)}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
#app{max-width:600px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}

/* ---------- 通用 ---------- */
.hanzi{font-family:var(--hanzi)}
.btn{display:block;width:100%;padding:14px 18px;border-radius:14px;font-size:17px;font-weight:600;
     text-align:center;background:var(--accent);color:var(--onAccent);transition:transform .08s}
.btn:active{transform:scale(.98)}
.btn.ghost{background:var(--card);color:var(--jade);border:1.5px solid var(--jade)}
.btn.small{width:auto;display:inline-block;padding:8px 16px;font-size:14px;border-radius:10px}
.btn[disabled]{opacity:.45;pointer-events:none}
.pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;
      background:var(--jade-soft);color:var(--jade);font-weight:600}
.speak{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
       border-radius:99px;background:var(--jade-soft);color:var(--jade);font-size:18px;flex:none}
.speak:active{transform:scale(.92)}
.speak.big{width:84px;height:84px;font-size:36px;margin:8px auto;display:flex}

/* ---------- 首页 ---------- */
.home{padding:26px 20px 60px}
.hero{margin-bottom:22px}
.hero .zh{font-family:var(--hanzi);font-size:34px;font-weight:700;letter-spacing:.06em}
.hero .en{color:var(--ink2);font-size:15px;margin-top:6px}
.hero .tag{margin-top:10px;font-size:13px;color:var(--mute)}
.continue{display:flex;align-items:center;gap:14px;background:var(--accent);color:var(--onAccent);
          border-radius:16px;padding:14px 18px;margin-bottom:24px;width:100%;text-align:left}
.continue .go{margin-left:auto;font-size:22px}
.continue .sub{font-size:12.5px;opacity:.85}
.packrow{display:flex;align-items:center;gap:14px;width:100%;text-align:left;
         background:var(--card);border:1px solid var(--rule);border-radius:16px;
         padding:14px 16px;margin-bottom:10px}
.packrow:active{transform:scale(.99)}
.packrow .num{font-size:12px;color:var(--mute);width:24px;flex:none}
.packrow .zh{font-family:var(--hanzi);font-size:21px;font-weight:700}
.packrow .en{font-size:12.5px;color:var(--ink2)}
.packrow .meta{margin-left:auto;text-align:right;flex:none}
.packrow .cnt{font-size:12px;color:var(--mute)}
.ring{width:34px;height:34px;border-radius:99px;background:
      conic-gradient(var(--jade) calc(var(--p)*1%), var(--rule) 0);
      display:flex;align-items:center;justify-content:center;margin-left:auto}
.ring i{width:26px;height:26px;border-radius:99px;background:var(--card);display:flex;
        align-items:center;justify-content:center;font-style:normal;font-size:10.5px;color:var(--jade);font-weight:700}
.stamp-mini{color:var(--seal);font-size:13px;letter-spacing:.1em}

/* ---------- 包页 ---------- */
.packpage{padding:22px 20px 60px}
.crumb{background:none;color:var(--mute);font-size:14px;padding:4px 0;margin-bottom:10px;display:inline-block}
.packhead .zh{font-family:var(--hanzi);font-size:30px;font-weight:700}
.packhead .cando{margin:8px 0 18px;color:var(--ink2);font-size:14.5px}
.unitrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);
         border:1px solid var(--rule);border-radius:14px;padding:12px 14px;margin-bottom:9px}
.unitrow .no{width:30px;height:30px;border-radius:99px;background:var(--jade-soft);color:var(--jade);
             display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none}
.unitrow.done .no{background:var(--celebrate);color:var(--onCelebrate)}
.unitrow .zh{font-family:var(--hanzi);font-size:17.5px;font-weight:600}
.unitrow .cando{font-size:12px;color:var(--mute)}
.unitrow .mins{margin-left:auto;font-size:12px;color:var(--mute);flex:none}
.unitrow .sealed{margin-left:auto;flex:none;color:var(--seal);font-family:var(--hanzi);font-weight:700;
                 border:1.5px solid var(--seal);border-radius:6px;padding:1px 6px;font-size:13px;transform:rotate(-8deg)}

/* ---------- 播放器壳 ---------- */
.player{display:flex;flex-direction:column;min-height:100dvh}
.topbar{display:flex;align-items:center;gap:10px;padding:12px 16px 8px}
.topbar .back{font-size:20px;color:var(--mute);padding:4px 8px}
.topbar .title{font-size:14px;font-weight:600;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.segbar{display:flex;gap:3px;padding:0 16px 10px}
.segbar i{flex:1;height:4px;border-radius:3px;background:var(--rule)}
.segbar i.on{background:var(--jade)}
.segbar i.cur{background:var(--gold)}
.stage{flex:1;padding:10px 20px 30px;display:flex;flex-direction:column}
.stage .grow{flex:1}
/* sticky:词卡步文档高 797px,而 667 的手机视口放不下,CONTINUE 会掉到折叠线以下。
   /l3/ 早就是 sticky 了,这里一直没跟上。粘住之后 .foot 恒在视口底,
   account.js 的 lift() 也就能正确把悬浮键抬起来,顺带解决误点问题。 */
.foot{position:sticky;bottom:0;background:var(--paper);
      padding:10px 20px calc(20px + env(safe-area-inset-bottom))}
.foot-row{display:flex;gap:10px}
.foot-row .btn{flex:1;margin:0}
.foot-row .btn.ghost{flex:0 0 auto;width:auto;padding-left:16px;padding-right:16px}

/* ---------- 词卡步 ---------- */
.vcard{background:var(--card);border:1px solid var(--rule);border-radius:20px;
       padding:30px 22px;text-align:center;box-shadow:0 2px 14px rgba(0,0,0,.04)}
.vcard .w{font-family:var(--hanzi);font-size:76px;line-height:1.25;font-weight:700}
.vcard .py{font-size:19px;color:var(--jade);margin-top:2px;font-weight:600}
.vcard .en{font-size:17px;color:var(--ink2);margin-top:8px}
/* 二级词卡的构词行(数据字段 bf,如「打 hit + 开 open」);无 bf 不渲染 */
.vcard .bf{font-size:13px;color:var(--mute);margin-top:4px}
/* 单元开场白(接缝仪式) */
.intro{text-align:center;padding:8px 6px}
.intro .izh{font-size:30px;line-height:1.75;font-weight:700;color:var(--ink);cursor:pointer}
.intro .ien{margin-top:18px;font-size:15px;line-height:1.6;color:var(--mute);
            max-width:30em;margin-left:auto;margin-right:auto}
.vcard .pos{margin-top:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}
.chip{background:var(--jade-soft);color:var(--jade);border-radius:10px;padding:7px 12px;
      font-family:var(--hanzi);font-size:16.5px}
.vex{margin-top:16px;padding-top:14px;border-top:1px dashed var(--rule)}
.vex .zh{font-family:var(--hanzi);font-size:19px}
.vex .en{font-size:13px;color:var(--mute);margin-top:3px}
.newtag{position:absolute;margin:-16px 0 0 -6px;transform:rotate(-10deg);
        background:var(--celebrate);color:var(--onCelebrate);font-size:11px;border-radius:6px;padding:2px 7px;font-weight:700}

/* ---------- 题步通用 ---------- */
.q-instr{font-size:16.5px;font-weight:600;margin:6px 0 14px;text-align:center}
.q-zh-big{font-family:var(--hanzi);font-size:44px;text-align:center;font-weight:700;margin:6px 0}
.opts{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.opt{background:var(--card);border:1.5px solid var(--rule);border-radius:13px;padding:13px 16px;
     font-size:16.5px;text-align:left;transition:border-color .12s}
.opt .hanzi-in{font-family:var(--hanzi)}
.opt .py-in{font-family:var(--py)}
.opt.sel{border-color:var(--jade)}
.opt.right{border-color:var(--success);background:var(--successSoft);color:var(--success)}
.opt.wrong{border-color:var(--accent2);background:var(--accent2Soft);animation:shake .3s}
@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.fb{border-radius:14px;padding:12px 15px;margin-top:14px;font-size:15px;font-weight:700;
     display:flex;align-items:center;gap:10px;animation:fbrise .3s cubic-bezier(.2,.8,.3,1) both}
@keyframes fbrise{from{opacity:0;transform:translateY(9px) scale(.97)}to{opacity:1;transform:none}}
.fb.ok{background:var(--successSoft);color:var(--success)}
.fb.no{background:var(--accent2Soft);color:var(--accent2)}
.material{background:var(--card);border:2px solid var(--ink);border-radius:12px;padding:18px;
          font-family:var(--hanzi);font-size:22px;text-align:center;margin:10px 0;line-height:2}

/* 配对 */
.match{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}
.mitem{background:var(--card);border:1.5px solid var(--rule);border-radius:12px;padding:13px 10px;
       text-align:center;font-size:17px}
.mitem.hz{font-family:var(--hanzi);font-size:20px}
.mitem.sel{border-color:var(--accent2);background:var(--accent2Soft)}
.mitem.lock{border-color:var(--success);background:var(--successSoft);color:var(--success);pointer-events:none}
.mitem.err{animation:shake .3s;border-color:var(--accent2)}

/* 排序 */
.slotline{min-height:56px;border-bottom:2px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px;
          align-items:center;padding:8px 2px;margin-bottom:16px}
.tilebay{display:flex;flex-wrap:wrap;gap:9px;justify-content:center}
.tile{background:var(--card);border:1.5px solid var(--rule);border-radius:11px;padding:9px 14px;
      font-family:var(--hanzi);font-size:21px}
.tile.used{opacity:.25;pointer-events:none}
.tile.inslot{background:var(--jade-soft);border-color:var(--jade)}

/* 描红 */
.tracewrap{position:relative;width:min(78vw,300px);aspect-ratio:1;margin:8px auto;
           border:2px dashed var(--rule);border-radius:14px;background:var(--card)}
.tracewrap .ghost{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
                  font-family:var(--hanzi);font-size:min(58vw,220px);color:var(--rule);
                  font-weight:700;user-select:none;pointer-events:none}
.tracewrap .grid-l{position:absolute;inset:0;pointer-events:none;opacity:.5}
.tracewrap canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}
.tracebtns{display:flex;gap:10px;justify-content:center;margin-top:12px}

/* 跟读 */
.stars{display:flex;gap:14px;justify-content:center;margin:16px 0}
.star{font-size:40px;filter:grayscale(1);opacity:.4;transition:all .12s}
.star.on{filter:none;opacity:1;transform:scale(1.12)}

/* ---------- 对话步 ---------- */
.scene{background:var(--card);border:1px solid var(--rule);border-radius:18px;padding:16px 14px;min-height:280px}
.scene-title{text-align:center;font-family:var(--hanzi);font-size:18px;font-weight:700;color:var(--ink2);margin-bottom:12px}
.line{display:flex;gap:10px;margin-bottom:12px;animation:rise .25s ease-out}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1}}
.line .ava{width:38px;height:38px;border-radius:99px;background:var(--jade-soft);flex:none;
           display:flex;align-items:center;justify-content:center;font-size:20px}
.line.me{flex-direction:row-reverse}
.line .bub{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:9px 13px;max-width:82%}
.line.me .bub{background:var(--jade-soft);border-color:transparent}
.line .who{font-size:11px;color:var(--mute);margin-bottom:2px}
.line .zh{font-family:var(--hanzi);font-size:20px;line-height:1.55}
.line .zh .tap{border-bottom:2px dotted var(--jade);cursor:pointer}
.line .py{font-size:12.5px;color:var(--jade);margin-top:2px}
.line .en{font-size:13px;color:var(--mute);margin-top:2px}
.line .lspeak{font-size:14px;color:var(--jade);background:none;padding:2px 4px}
.toggles{display:flex;gap:8px;justify-content:center;margin:10px 0 4px}
.tog{font-size:12.5px;padding:5px 12px;border-radius:99px;border:1.5px solid var(--rule);color:var(--mute)}
.tog.on{border-color:var(--jade);color:var(--jade);font-weight:600}

/* 词浮层 */
.gloss{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);width:min(92vw,420px);
       background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:16px 18px;
       box-shadow:0 8px 30px rgba(0,0,0,.18);z-index:50;animation:rise .2s}
.gloss .w{font-family:var(--hanzi);font-size:30px;font-weight:700}
.gloss .py{color:var(--jade);font-weight:600;margin-left:8px}
.gloss .en{color:var(--ink2);margin-top:2px}
.gloss .x{position:absolute;top:8px;right:12px;color:var(--mute);font-size:18px;padding:4px}

/* ---------- 完成页 ---------- */
.donepage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
          text-align:center;padding:30px 24px}
.sealbox{width:150px;height:150px;border:5px solid var(--seal);border-radius:16px;color:var(--seal);
         display:flex;flex-direction:column;align-items:center;justify-content:center;
         font-family:var(--hanzi);transform:rotate(-6deg);
         animation:stampin .5s cubic-bezier(.2,1.6,.4,1) both;margin-bottom:22px}
.sealbox .big{font-size:64px;font-weight:700;line-height:1}
.sealbox .small{font-size:14px;font-weight:700;margin-top:4px;letter-spacing:.15em}
@keyframes stampin{0%{transform:rotate(-6deg) scale(2.2);opacity:0}60%{transform:rotate(-6deg) scale(.94);opacity:1}100%{transform:rotate(-6deg) scale(1)}}
.donepage .cando{font-size:17px;font-weight:700;margin-bottom:6px}
.donepage .stats{color:var(--mute);font-size:13.5px;margin-bottom:26px}
.confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:40}
.confetti i{position:absolute;top:-12px;width:8px;height:8px;border-radius:2px;animation:fall linear both}
@keyframes fall{to{transform:translateY(105vh) rotate(540deg)}}

/* 尊重系统的「减弱动效」设置。
   celebrate.css 里做了,但只覆盖 cb- 前缀;场景线自己另造了一套 .confetti,
   逃出了那个块 —— 用户明确要了减弱动效,每完成一个单元照样吃 150px 印章
   从 2.2 倍砸到屏幕正中 + 26 片彩纸全屏坠落。这里补上全局兜底。 */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
}

/* 触摸热区补到 44px(WCAG 2.5.8)。用 padding 撑开、负 margin 收回,视觉尺寸不变。
   .lspeak 原来约 26x27,.gloss 的 ✕ 约 23x38 —— 手指点不准。 */
.lspeak{padding:9px;margin:-9px}
.gloss .x{padding:11px;margin:-11px}

/* ---------- 词卡配图 ---------- */
/* 线稿是深色的:浅色模式下托盘几乎看不见,深色模式必须垫一块暖白,
   否则 #2E2B33 的线条在 #172026 上只有 1.19:1,等于没有。 */
.vpic{width:132px;height:132px;margin:0 auto 10px;border-radius:20px;
      background:var(--picplate,#FBFDFA);display:flex;align-items:center;justify-content:center}
.vpic img{width:112px;height:112px;object-fit:contain;display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--picplate:#ECE6DA}}
:root[data-theme="dark"]{--picplate:#ECE6DA}
@media (max-width:400px){.vpic{width:112px;height:112px}.vpic img{width:94px;height:94px}}

/* ---------- 可点出声的提示 ---------- */
/* 原来搭配和例句都能点出声,但看不出来能点。加小喇叭 + 悬停反馈。 */
.chip{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px}
.chip .spk,.exline .spk{font-size:11px;opacity:.55;line-height:1}
.chip:hover,.chip:focus-visible{background:var(--jade);color:#fff}
.chip:hover .spk,.chip:focus-visible .spk{opacity:1}
.chip:active{transform:scale(.96)}
.exline{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:8px 10px;min-height:44px;
        border-radius:10px;cursor:pointer;color:inherit;font:inherit;text-align:left;
        transition:background .15s}
.exline .zh{font-family:var(--hanzi);font-size:19px;border-bottom:2px dotted var(--jade)}
.exline .spk{font-size:13px}
.exline:hover,.exline:focus-visible{background:var(--jade-soft)}
.exline:hover .spk,.exline:focus-visible .spk{opacity:1}
.exline:active{transform:scale(.98)}
@media (hover:none){.chip .spk,.exline .spk{opacity:.75}}

/* ---------- 实物件(名片 / 菜单 / 价签 / 小票 / 课表 …) ----------
   兰 2026-08-28:「[名片] 小张 电话:138…」原来是把方括号当正文显示的,
   方括号露在外面不像实物。改成画成卡片,不用图片 —— 矢量清晰、不多一个文件。*/
.realia{background:var(--card);border:2px solid var(--ink);border-radius:14px;
        margin:14px auto;max-width:340px;position:relative;overflow:hidden;
        box-shadow:0 2px 10px rgba(0,0,0,.07)}
.realia .rl-tag{position:absolute;top:0;left:0;background:var(--ink);color:var(--card);
        font-family:var(--ui);font-size:11px;letter-spacing:.06em;padding:3px 10px;
        border-radius:0 0 10px 0}
.realia .rl-body{font-family:var(--hanzi);padding:30px 20px 20px}
.realia .rl-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
        font-size:20px;line-height:1.9;border-bottom:1px dashed var(--rule);padding:2px 0}
.realia .rl-row:last-child{border-bottom:0}
.realia .rl-row .rl-k{text-align:left}
.realia .rl-row .rl-v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.realia .rl-plain{font-size:21px;line-height:2;text-align:center}

/* 名片:姓名大、电话小,居中,像张真名片 */
.realia.rl-card .rl-body{padding:34px 20px 26px;text-align:center}
.realia.rl-card .rl-name{font-size:30px;letter-spacing:.08em;margin-bottom:10px}
.realia.rl-card .rl-line{width:44px;height:2px;background:var(--seal);margin:0 auto 12px}
.realia.rl-card .rl-meta{font-size:18px;color:var(--ink2);font-variant-numeric:tabular-nums}

/* 便条 / 手写:米色纸 + 轻微倾斜 */
.realia.rl-note{background:var(--gold-soft);border-style:solid;transform:rotate(-.7deg)}
.realia.rl-note .rl-body{font-size:20px;line-height:2.1;text-align:center}

/* 牌子 / 通知:边框更重 */
.realia.rl-sign{border-width:3px;max-width:300px}
.realia.rl-sign .rl-body{text-align:center;font-size:21px;line-height:2}

@media (prefers-reduced-motion:reduce){ .realia.rl-note{transform:none} }

/* ---------- 跟读录音(兰 2026-08-28) ---------- */
.rec{display:flex;flex-direction:column;align-items:center;gap:8px;margin:12px 0 4px}
.rec .btn.small{padding:8px 16px;font-size:14px;min-width:150px}
.rec .btn.on{background:var(--seal);color:#fff;border-color:var(--seal)}
.rec .btn[disabled]{opacity:.45}
.rec-hint{font-size:12.5px;color:var(--mute);font-family:var(--ui);text-align:center;min-height:1.2em}

/* 错题反馈条里的「Decode it again」—— 幽灵文字按钮,不抢选项的视觉权重 */
.fb-why{background:none;border:0;color:var(--jade);font-weight:700;font-size:13px;
  padding:6px 0 0;cursor:pointer;display:block;font-family:inherit}

/* ---------- 搭配砖：中文 + 英文两行（兰 2026-09-03） ----------
   砖上原来只有中文，学生看不懂搭配。改成竖着两行：上行中文（原样、带小喇叭），
   下行英文 12px 弱化色。缺译时下行根本不渲染，砖自然回到单行，
   min-height:44 的触摸高度不变。 */
.chip{flex-direction:column;justify-content:center;gap:2px;
      padding:6px 12px;max-width:100%;text-align:center}
.chip .cz{display:inline-flex;align-items:center;gap:6px;
          font-family:var(--hanzi);font-size:16.5px;line-height:1.3}
.chip .ce{font-family:var(--ui);font-size:12px;line-height:1.25;color:var(--ink2);
          max-width:100%;overflow-wrap:anywhere}
/* hover 上的字改用 var(--onAccent)：基础规则写死了 #fff，深色主题里玉色是亮青，
   白字压上去就看不清了——英文那行只有 12px，更经不起。 */
.chip:hover,.chip:focus-visible{color:var(--onAccent)}
.chip:hover .ce,.chip:focus-visible .ce{color:var(--onAccent);opacity:.85}
/* 窄屏（375 一类）：英文长的时候砖自己换行，不把卡片撞出去 */
@media (max-width:400px){
  .chips{gap:6px}
  .chip{padding:6px 10px}
  .chip .ce{font-size:11.5px}
}
