.ptoc-wrap *,.ptoc-wrap *::before,.ptoc-wrap *::after{box-sizing:border-box;margin:0;padding:0}.ptoc-wrap{max-width:720px;margin:0 auto 28px;width:100%}.ptoc-card{background:#fff;border:.5px solid #e2e8f0;border-radius:16px;overflow:hidden}.ptoc-header{display:flex;align-items:center;justify-content:space-between;padding:16px 22px;cursor:pointer;user-select:none;transition:background 0.2s;outline:none;gap:10px}.ptoc-header:hover,.ptoc-header:focus-visible{background:#f8fafc}.ptoc-header-left{display:flex;align-items:center;gap:10px;min-width:0}.ptoc-small-icon{width:32px;height:32px;border-radius:8px;background:#f1f5f9;border:.5px solid #e2e8f0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ptoc-head{font-size:15px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ptoc-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.ptoc-meta-pill{display:flex;align-items:center;gap:5px;font-size:11px;color:#64748b;background:#f1f5f9;padding:4px 10px;border-radius:20px;white-space:nowrap}.ptoc-toggle-btn{width:28px;height:28px;border-radius:50%;background:#f1f5f9;border:.5px solid #cbd5e1;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform 0.28s ease,background 0.2s}.ptoc-card.open .ptoc-toggle-btn{transform:rotate(180deg);background:#eff6ff;border-color:#bfdbfe}.ptoc-card.open .ptoc-toggle-btn svg path{stroke:#6366f1}.ptoc-body{max-height:0;overflow:hidden;transition:max-height 0.38s ease,opacity 0.3s ease;opacity:0}.ptoc-card.open .ptoc-body{opacity:1}.ptoc-body-divider{height:.5px;background:#e2e8f0;margin:0 22px}.ptoc-items-wrap{padding:6px 12px 10px}.ptoc-row{display:grid;grid-template-columns:20px 72px 1fr 16px;align-items:start;gap:10px;padding:10px 12px;text-decoration:none;border-radius:10px;margin-bottom:2px;transition:background 0.18s}.ptoc-row:hover{background:#f8fafc;text-decoration:none}.ptoc-num{font-size:12px;font-weight:700;color:#94a3b8;flex-shrink:0;transition:color 0.2s;padding-top:3px;line-height:1}.ptoc-row:hover .ptoc-num{color:#6366f1}.ptoc-tag{font-size:10px;font-weight:700;padding:4px 6px;border-radius:10px;width:72px;min-width:72px;max-width:72px;text-align:center;flex-shrink:0;letter-spacing:.03em;text-transform:capitalize;white-space:normal;word-break:break-word;overflow-wrap:break-word;display:block;line-height:1.25;box-sizing:border-box}.t-theory{background:#dbeafe;color:#1d4ed8}.t-math{background:#fee2e2;color:#dc2626}.t-pattern{background:#dcfce7;color:#15803d}.t-memory{background:#ffedd5;color:#c2410c}.t-practice{background:#f3e8ff;color:#7e22ce}.t-apply{background:#ccfbf1;color:#0f766e}.t-intro{background:#fce7f3;color:#be185d}.t-tips{background:#e0e7ff;color:#3730a3}.t-quiz{background:#d1fae5;color:#065f46}.t-example{background:#fef9c3;color:#92400e}.t-facts{background:#cffafe;color:#155e75}.t-fun{background:#ffe4e6;color:#9f1239}.ptoc-ititle{font-size:14px;font-weight:500;color:#1e293b;line-height:1.55;transition:color 0.2s;min-width:0;word-break:break-word}.ptoc-row:hover .ptoc-ititle{color:#6366f1}.ptoc-arrow{font-size:14px;font-weight:700;color:#94a3b8;flex-shrink:0;transition:color 0.2s,transform 0.2s;line-height:1;padding-top:3px;user-select:none}.ptoc-row:hover .ptoc-arrow{color:#6366f1;transform:translateX(3px)}@media (max-width:640px){.ptoc-header{padding:14px 18px}.ptoc-items-wrap{padding:6px 10px 10px}.ptoc-row{grid-template-columns:18px 72px 1fr 14px;gap:8px;padding:9px 10px}.ptoc-ititle{font-size:13.5px}}@media (max-width:480px){.ptoc-meta-pill{display:none}.ptoc-header{padding:13px 14px;gap:8px}.ptoc-head{font-size:14px}.ptoc-items-wrap{padding:4px 6px 8px}.ptoc-row{grid-template-columns:16px 64px 1fr 12px;gap:7px;padding:8px 8px}.ptoc-tag{width:64px;min-width:64px;max-width:64px;font-size:9.5px}.ptoc-ititle{font-size:13px}.ptoc-num{font-size:11px}}@media (max-width:360px){.ptoc-header{padding:12px 12px}.ptoc-row{grid-template-columns:14px 58px 1fr 12px;gap:6px;padding:7px 6px}.ptoc-tag{width:58px;min-width:58px;max-width:58px;font-size:9px;padding:3px 5px}.ptoc-ititle{font-size:12.5px}}