{
  "id": "realm-ring",
  "name": "结界卡环形计时器",
  "permissions": ["realm-cards"],
  "configFields": [
    {
      "key": "kind",
      "label": "卡片类型（own 或 foster）",
      "type": "text",
      "default": "own"
    }
  ],
  "html": "<h3>结界卡</h3><div style=\"width:110px;height:110px;border:5px solid #a98b67;border-radius:50%;display:grid;place-items:center;margin:16px auto\"><strong id=\"time\">读取中</strong></div><p id=\"detail\"></p>",
  "js": "let state=null;const time=document.getElementById('time');const detail=document.getElementById('detail');function tick(){if(!state?.available){time.textContent='未读取';detail.textContent='状态未知';return;}if(!state.active){time.textContent='空闲';detail.textContent='未放置／未寄养';return;}if(!Number.isFinite(state.endsAt)){time.textContent='时间未知';return;}const seconds=Math.max(0,Math.ceil(state.endsAt-Date.now()/1000));if(!seconds){time.textContent='已到期';detail.textContent='预计已到期，待读取确认';return;}time.textContent=`${Math.floor(seconds/3600)}:${String(Math.floor(seconds%3600/60)).padStart(2,'0')}`;detail.textContent=`勾玉 ${state.expectedJade??'未知'} · 体力 ${state.expectedStamina??'未知'}`;}async function render(){try{const config=await yys.config.get();const result=await yys.data.get('realm-cards');state=result.data?.[config.kind==='foster'?'foster':'own'];tick();}catch(error){time.textContent=error.message;detail.textContent='结界卡数据沿用会员权限';}}setInterval(tick,1000);yys.data.subscribe(render);render();",
  "apiVersion": 1,
  "version": "1.0.0",
  "css": "body{margin:0;padding:18px;background:transparent;color:#8d9ea6;font:12px/1.7 sans-serif}h3{color:#a98b67;margin:0 0 12px}ul{padding:0;list-style:none}li{padding:7px 0;border-bottom:1px solid #8d9ea633}small{opacity:.7}strong{color:#a98b67}"
}
