.ip-panels{margin-top:16px;align-items:start}.ip-panels .panel{min-width:0}
.ip-panels .panel-title{margin-bottom:12px}
.ip-ritual-body{display:flex;align-items:center;gap:clamp(14px,4vw,32px)}
.ip-ring{width:102px;aspect-ratio:1;flex:none;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--accent) 0 var(--hit),#bd9758 var(--hit) var(--logged),var(--border) var(--logged) 100%)}
.ip-ring>div{border-radius:50%;width:78%;height:78%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface)}
.ip-ring strong{font-size:24px;line-height:1.12}.ip-ring small,.ip-note,.ip-target-goal,.ip-target-caption{color:var(--muted);font-size:12px;line-height:1.45}
.ip-legend,.ip-detail-list,.ip-target-list{padding:0;margin:0;list-style:none}
.ip-legend{min-width:108px;flex:1}.ip-legend li,.ip-detail-list li{display:flex;gap:8px;align-items:center;margin:7px 0;font-size:13px}.ip-legend b,.ip-detail-list b{margin-left:auto;font-variant-numeric:tabular-nums}
.ip-dot{width:9px;height:9px;border-radius:50%;background:var(--border)}.ip-dot.done{background:var(--accent)}.ip-dot.unchecked{background:#bd9758}
.ip-note{margin:10px 0}.ip-panels details{border-top:1px solid var(--border)}.ip-panels summary{padding:10px 0 0;cursor:pointer;font-size:12px;color:var(--text)}
.ip-target-list li{padding:12px 0;border-top:1px solid var(--border)}.ip-target-list li:last-child{padding-bottom:0}.ip-target-title,.ip-target-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.ip-target-title strong{font-size:14px}
.ip-target-goal{display:block;margin-top:2px}.ip-track{display:block;border-radius:10px;overflow:hidden;height:8px;margin:8px 0 4px;background:var(--border)}.ip-track i{display:block;height:100%;border-radius:inherit;background:var(--accent)}
.ip-medal{display:inline-flex;align-items:center;gap:4px;color:var(--accent);background:var(--accent-soft);border-radius:20px;padding:3px 8px;font-size:11px;font-weight:650}.ip-medal .icon{height:12px;width:12px}
@media(max-width:700px){.ip-panels{grid-template-columns:minmax(0,1fr)}.ip-ring{width:90px}}
